Podman поддерживает два способа хранения конфиденциальных данных: использование необработанных секретов Podman или создание секретов Kubernetes с помощью Podman.
При написании статьи "Развёртывание многоконтейнерного приложения с использованием Podman и Quadlet" меня спросили о различиях между созданием необработанных секретов Podman и созданием секретов Kubernetes с помощью Podman. Итак, вместо того, чтобы перегружать статью про Quadlet, я решил написать эту.
Podman представил секреты с версией 3.1.0. В Podman 4.3.0 добавлена поддержка секретов Kubernetes поверх секретов Podman с помощью команды podman kube play. Наличие двух способов достижения одной и той же цели вызывает два вопроса:
- В чём разница между двумя механизмами?
- Когда вы должны использовать один в отличие от другого?
Я отвечу на эти вопросы в этом посте.
Как использовать необработанные секреты Podman
Команда podman secret create сохраняет все введённые данные как одно значение, которое можно использовать, поскольку оно находится внутри контейнера.
Например, вы можете хранить пароль в секрете Podman следующим образом:
$ printf "Gr8P@ssword!" | podman secret create my-password -
Затем вы можете использовать его в своем контейнере в качестве переменной среды:
$ podman run --secret=my-password,type=env,target=MY_PASSWORD \
registry.access.redhat.com/ubi9:latest \
printenv MY_PASSWORD
Gr8P@ssword!
Вы можете узнать больше о секретах Podman в статье Ashley Cui "Изучение новой секретной команды Podman".
Продолжение следует...
Перевод с некоторыми авторскими заголовками. Автор оригинала: Ygal Blum (Red Hat).