So konvertieren Sie ConfigMap in Azure Key Vault

So konvertieren Sie ConfigMap in Azure Key Vault

Ich habe eine Konfigurationszuordnung wie unten, die ich mit einer Konfigurationsdatei in unserer Anwendung verknüpfen werde.

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=

Wie kann ich das in Azure Key Vault speichern und während der Bereitstellung von dort abrufen? Einzelne Schlüssel/Wert-Paare werden dort in Key Vault gespeichert. Aber wie erreicht man das?

Ich habe die im Link angegebene Option ausprobiert, aber sie wird nicht als normales Kubernetes-Geheimnis angezeigt. Bitte sehen Sie sich die Ausgabe unten an:

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

Antwort1

War eine interessante Frage für mich, also habe ich ein bisschen nachgeforscht. Zunächst einmal sollten Sie verstehen, dass ich es nicht persönlich versucht habe (werde es etwas später versuchen), also ist das nur eine Idee. Zu viele Informationen für einen Kommentar.

Fand ich sehr interessantakv2k8s-Projekt(Erkunden Sie Azure Key Vault für Kubernetes), das anscheinend dabei helfen kann, die Anforderungen zu erfüllen ...

Azure Key Vault to Kubernetes (akv2k8s) macht Azure Key Vault-Geheimnisse, -Zertifikate und -Schlüssel in Kubernetes und/oder Ihrer Anwendung verfügbar

  • auf einfache und sichere Weise.

Sie erwähnen ConfigMaps in der Übersicht, aber nicht im Diagramm.

Akv2k8s enthält zwei Hauptkomponenten:

  1. Derakv2k8s Controller synchronisiert Azure Key Vault-Objekte mit Kubernetes als nativeGeheimnisse oderKonfigurationskarten

  2. Der akv2k8s-Injektor fügt Azure Key Vault-Objekte als Umgebungsvariablen direkt in Ihre Anwendung ein.

Bildbeschreibung hier eingeben

Verwenden Sie den Controller, wenn: Azure Key Vault-Daten mit einer Kubernetes ConfigMap synchronisieren müssen


Installation: So installieren Sie Azure Key Vault to Kubernetes (akv2k8s) auf Azure AKS

verwandte Informationen