我有一个如下所示的配置图。我将把它链接到我们应用程序中的配置文件。
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 和/或你的应用程序中可用
- 以简单且安全的方式。
他们在概述中提到了配置图,但没有在图表中提到。
Akv2k8s 包含两个主要组件:
这akv2k8s 控制器将 Azure Key Vault 对象同步到 Kubernetes 作为本机秘密或配置映射
akv2k8s 注入器将 Azure Key Vault 对象作为环境变量直接注入到您的应用程序中。
在以下情况下使用控制器:需要将 Azure Key Vault 数据同步到 Kubernetes ConfigMap
安装: 如何在 Azure AKS 上将 Azure Key Vault 安装到 Kubernetes (akv2k8s)