Папка секретов Nomad пуста в контейнере Docker
У меня возникла проблема с Nomad'sNOMAD_SECRETS_DIR
выделение папок для контейнера Docker.
У меня есть следующееtemplate
строфа в моей должностной инструкции:
template {
destination = "/local/pki/certs/my_certificate.crt"
perms = "440"
data = <<EOF
[ CERTIFICATE CONTENT ]
EOF
}
template {
destination = "/secrets/pki/private/my_key.key"
perms = "400"
data = <<EOF
[ KEY CONTENT ]
EOF
}
При этом из пользовательского интерфейса, когда я смотрю на файлы, выделенные для задачи, я вижу, что файл секретного ключа создан.
Однако в работающем Docker-контейнере папка совершенно пуста:
# nomad alloc exec -i -t -task lb0 52a13d48 /bin/sh
/ # ls -al /secrets
total 0
drwxr-xr-x. 2 root root 6 Feb 11 11:31 .
drwxr-xr-x. 1 root root 70 Feb 11 11:31 ..
И если я смотрю на папку размещения в самой системе, то папка тоже пуста:
# ls -al /srv/nomad/alloc/52a13d48-b073-39b4-4b79-10225aece50e/lb0/secrets/
total 0
drwxr-xr-x. 2 root root 6 Feb 11 12:31 .
drwxrwxrwx. 5 nobody nobody 45 Feb 11 12:31 ..
Где Nomad находит файлы вsecrets
папка? Почему в контейнере пусто?
1 ответ
Странно, Номад не очень любит, когда я монтирую файловую систему только для чтения.
Я поместил следующее в файл модуля systemd:
ProtectSystem=full
ProtectHome=read-only
Которые перемонтируют некоторые системные папки только для чтения перед запуском процесса. В каком-то смысле это мешало Nomad.