![configmap を Azure KeyVault に変換する方法](https://rvso.com/image/768926/configmap%20%E3%82%92%20Azure%20KeyVault%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
以下のような configmap があります。これをアプリケーション内の config ファイルにリンクします。
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 やアプリケーションで利用できるようになります。
- シンプルで安全な方法で。
概要では configmaps について言及されていますが、図では言及されていません。
Akv2k8s には 2 つの主要コンポーネントが含まれています。
のakv2k8s コントローラーは Azure Key Vault オブジェクトをネイティブとして Kubernetes に同期します秘密のまたは構成マップ
akv2k8s インジェクターは、Azure Key Vault オブジェクトを環境変数としてアプリケーションに直接挿入します。
コントローラーを使用する場合: Azure Key Vault データを Kubernetes ConfigMap に同期する必要がある場合
インストール: Azure AKS 上の Kubernetes (akv2k8s) に Azure Key Vault をインストールする方法