использовать секрет kubernetes в другом - PullRequest
1 голос
/ 14 апреля 2020

Как я могу использовать секретный X ключ my-key в другом секрете Y как some-other-key? Оба секрета имеют и другие ключи.

Rational: экземпляр mysql генерирует секрет, содержащий пароли для пользователей с ключами mysql-password и mysql-root-password. Пользовательский ресурс DbInstance ожидает имя секрета, которое содержит ключи user и password. (Я использую https://github.com/kloeckner-i/db-operator) Как я могу поместить значение из одного в другое?

Конечно, я могу сделать это вручную, скопировав закодированное значение из kubectl get secret mysql-generated-secret и вставив это в kubectl edit secret dbinstance-secret. Есть ли способ лучше? Ссылка в k8s, если это возможно, или хорошая автоматизация. (Я найду способ, подобный pwd=$(kubectl get secret -o yaml ... | yq .data.mysql-password | base64 -d) && helm update --set password=$pwd ...; unset pwd, но лучше ли это?)

аналогично: Использование секретов kubernetes в файле конфигурации

1 Ответ

1 голос
/ 28 апреля 2020

Лучший способ автоматизировать это с помощью оператора. прослушивать секретный mysql -генерированный-секретный, при создании или изменении триггера -> создать dbinstance-secret

Вот оператор, который синхронизирует c секретов между пространствами имен, вы можете использовать один и тот же базовый код и изменять это для ваших нужд.

https://github.com/zakkg3/ClusterSecret

...