如何将 configmap 转换为 azure keyvault

如何将 configmap 转换为 azure keyvault

我有一个如下所示的配置图。我将把它链接到我们应用程序中的配置文件。

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 包含两个主要组件:

  1. akv2k8s 控制器将 Azure Key Vault 对象同步到 Kubernetes 作为本机秘密或配置映射

  2. akv2k8s 注入器将 Azure Key Vault 对象作为环境变量直接注入到您的应用程序中。

在此处输入图片描述

在以下情况下使用控制器:需要将 Azure Key Vault 数据同步到 Kubernetes ConfigMap


安装: 如何在 Azure AKS 上将 Azure Key Vault 安装到 Kubernetes (akv2k8s)

相关内容