Как преобразовать configmap в Azure KeyVault

Как преобразовать configmap в Azure KeyVault

У меня есть configmap, как показано ниже. Я свяжу ее с файлом конфигурации в нашем приложении.

apiVersion: v1
kind: ConfigMap
metadata:
  name: database-configmap
data:
  config: |
   dbport=5432
   dcname=
   dbssl=false
   locktime=300
   domainuser=
   dattserverhost=localhost
   conntype=ON-PREM
   dbinstance=
   dattusessl=false
   dbpwd=VrjvBguQ
   iisport=80
   docountupgrade=false
   doreportupgrade=false
   dbname=dattdatabase
   dattuseiis=false
   dbtype=POSTGRESQL
   dbusername=postg
   dbserver=tgres.database.azure.com
   domainpwd=

Как сохранить это в azurekeyvault и получить оттуда во время развертывания? Отдельные пары ключ/значение хранятся там в keyvault. Но как этого добиться?

Я попробовал вариант, указанный в ссылке, но он не отображается как обычный секрет kubernetes. Пожалуйста, посмотрите вывод ниже:

kubectl get azurekeyvaultsecret.spv.no/secret-sync -n akv-test
NAME          VAULT           VAULT OBJECT   SECRET NAME   SYNCHED
secret-sync   testingvaultd   sample1
kubectl get secrets -n akv-test
NAME                  TYPE                                  DATA   AGE
default-token-9bsk8   kubernetes.io/service-account-token   3      5m31s

решение1

Это был интересный вопрос для меня, поэтому я немного изучил. Прежде всего, вы должны понимать, что я лично не пробовал (попробую немного позже), так что это просто идея. Слишком много информации для комментариев.

Я нашел очень интереснымпроект akv2k8s(Изучите Azure Key Vault в Kubernetes), который, по-видимому, может помочь удовлетворить требования...

Azure Key Vault в Kubernetes (akv2k8s) делает секреты, сертификаты и ключи Azure Key Vault доступными в Kubernetes и/или вашем приложении

  • простым и безопасным способом.

Они упоминают configmaps в обзоре, но не на схеме.

Akv2k8s содержит два основных компонента:

  1. TheКонтроллер akv2k8s синхронизирует объекты Azure Key Vault с Kubernetes как собственныеСекрет илиКонфигурационные карты

  2. Инжектор akv2k8s внедряет объекты Azure Key Vault в качестве переменных среды непосредственно в ваше приложение.

введите описание изображения здесь

Используйте контроллер, если: необходимо синхронизировать данные Azure Key Vault с Kubernetes ConfigMap


Монтаж: Как установить Azure Key Vault в Kubernetes (akv2k8s) на Azure AKS

Связанный контент