![Как преобразовать configmap в Azure KeyVault](https://rvso.com/image/768926/%D0%9A%D0%B0%D0%BA%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20configmap%20%D0%B2%20Azure%20KeyVault.png)
У меня есть 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 содержит два основных компонента:
TheКонтроллер akv2k8s синхронизирует объекты Azure Key Vault с Kubernetes как собственныеСекрет илиКонфигурационные карты
Инжектор akv2k8s внедряет объекты Azure Key Vault в качестве переменных среды непосредственно в ваше приложение.
Используйте контроллер, если: необходимо синхронизировать данные Azure Key Vault с Kubernetes ConfigMap
Монтаж: Как установить Azure Key Vault в Kubernetes (akv2k8s) на Azure AKS