![如何將 configmap 轉換為 azure keyvault](https://rvso.com/image/768926/%E5%A6%82%E4%BD%95%E5%B0%87%20configmap%20%E8%BD%89%E6%8F%9B%E7%82%BA%20azure%20keyvault.png)
我有一個如下所示的配置映射。
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 to Kubernetes (akv2k8s) 使 Azure Key Vault 機密、憑證和金鑰在 Kubernetes 和/或應用程式中可用
- 以簡單且安全的方式。
他們在概述中提到了配置映射,但沒有在圖表中提到。
Akv2k8s 包含兩個主要組件:
這akv2k8s 控制器將 Azure Key Vault 物件同步到 Kubernetes 作為本機秘密的或配置映射
akv2k8s 注入器將 Azure Key Vault 物件直接注入您的應用程式作為環境變數。
若符合下列條件,請使用控制器: 需要將 Azure Key Vault 資料同步至 Kubernetes ConfigMap
安裝: 如何將 Azure Key Vault 安裝到 Azure AKS 上的 Kubernetes (akv2k8s)