Создание секретов
В демонстрации используются три секрета Podman, которые вы создаёте вне Quadlet. Эти секреты содержат следующие значения:
- сертификаты TLS для образа Envoy
- пароль root базы данных для пода Kubernetes
- пароль root базы данных для контейнера базы данных
Секрет envoy-certificates содержит сертификат TLS и закрытый ключ для HTTPS-трафика. Это секрет Podman, основанный на секрете Kubernetes, который включает следующие ключи:
- certificate.key: закрытый ключ
- certificate.pem: открытый сертификат
Если у вас нет сертификатов для использования, вы можете создать самозаверенный сертификат для тестирования с помощью этой команды:
$ openssl req -x509 -sha256 -nodes -days 365 \
-newkey rsa:4096 -keyout certificate.key -out certificate.pem
Чтобы создать секрет Podman, запустите:
$ kubectl create secret generic \
--from-file=certificate.key \
--from-file=certificate.pem \
envoy-certificates \
--dry-run=client \
-o yaml | \
podman kube play -
Обратите внимание, что из-за способа использования данных, независимо от того, используете ли вы файл .container или .kube, второй и третий секреты содержат одну и ту же информацию, но по-разному.
Секрет mysql-root-password-kube содержит пароль для сервера MySQL. Это секрет Podman, основанный на секрете Kubernetes, который включает в себя следующий ключ: "- password". Приложение WordPress, развёрнутое через файл .kube, использует этот секрет.
Секрет mysql-root-password-container также содержит пароль для сервера MySQL. Однако этот секрет является чистым секретом Podman и содержит только значение пароля. Контейнер базы данных, развернутый с помощью файла .container, использует этот секрет.
Чтобы создать оба секрета с использованием одного и того же значения, выполните следующие команды:
$ MYSQL_ROOT_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 13)
$ kubectl create secret generic \
--from-literal=password="${MYSQL_ROOT_PASSWORD}" \
mysql-root-password-kube \
--dry-run=client \
-o yaml | \
podman kube play -
$ echo -n "${MYSQL_ROOT_PASSWORD}" | \
podman secret create mysql-root-password-container -
Продолжение следует...
Перевод с некоторыми авторскими заголовками.
Автор оригинала: Ygal Blum (Red Hat).