Como converter o configmap para o Azure KeyVault

Como converter o configmap para o Azure KeyVault

Eu tenho um mapa de configuração como abaixo. Que vincularei a um arquivo de configuração em nosso aplicativo.

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=

Como salvar isso no azurekeyvault e partir daí durante a implantação? Pares individuais de chave/valor são armazenados lá no keyvault. Mas como conseguir isso?

Eu tentei a opção fornecida no link, mas ela não aparece como segredo normal do Kubernetes. Por favor, veja a saída abaixo:

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

Responder1

Foi uma pergunta interessante para mim, então investiguei um pouco. Primeiro de tudo, você deve entender que eu não tentei pessoalmente (tentarei um pouco mais tarde), então isso é apenas uma ideia. Muita informação para comentar.

achei muito interessanteprojeto akv2k8s(Explore o Azure Key Vault para Kubernetes) que parece ajudar a atender aos requisitos...

O Azure Key Vault para Kubernetes (akv2k8s) disponibiliza segredos, certificados e chaves do Azure Key Vault no Kubernetes e/ou no seu aplicativo

  • de forma simples e segura.

Eles mencionam configmaps na visão geral, mas não no diagrama.

Akv2k8s contém dois componentes principais:

  1. OO controlador akv2k8s sincroniza objetos do Azure Key Vault com o Kubernetes como nativosSegredo ouConfigMaps

  2. O injetor akv2k8s injeta objetos do Azure Key Vault como variáveis ​​de ambiente diretamente no seu aplicativo.

insira a descrição da imagem aqui

Use o controlador se: precisar sincronizar os dados do Azure Key Vault com um ConfigMap do Kubernetes


Instalação: Como instalar o Azure Key Vault no Kubernetes (akv2k8s) no Azure AKS

informação relacionada