簡體   English   中英

如何將 Azure-key-vault 與 AKS pod 連接?

[英]How to connect Azure-key-vault with a AKS pod?

我有帶有 docker 文件的 nodeJs 應用程序,在 AKS 中使用 HelmChart 部署,我有 azure 密鑰保管庫,其中一些密鑰在 Azure 需要連接我的 P

我使用akv2k8s

Akv2k8s 包含兩個主要組件:

  1. akv2k8s Controller 將 Azure Key Vault 對象同步到 Kubernetes 作為本機 Secret
  2. akv2k8s Injector 將 Azure Key Vault 對象作為環境變量直接注入到您的應用程序中。

圖表:

在此處輸入圖像描述

在開始安裝之前,我建議閱讀它是如何工作的? 頁。

稍后,按照安裝概述頁面設置環境。

如果你想用 helm 安裝 akv2k8s。 我為我的 CI\CD 進程創建了這個代碼片段:

# Create a dedicated namespace for akv2k8s
kubectl create ns akv2k8s

# Add Helm repository
helm repo add spv-charts http://charts.spvapi.no
helm repo update

# Install the Controller (and the "AzureKeyVaultSecret" CRD)
helm install azure-key-vault-controller spv-charts/azure-key-vault-controller --namespace akv2k8s

# Install the Env-Injector
helm install azure-key-vault-env-injector spv-charts/azure-key-vault-env-injector --set installCrd=false --namespace akv2k8s

簡單的例子

cat << EOF | kubectl apply -f -
apiVersion: spv.no/v1alpha1
kind: AzureKeyVaultSecret
metadata:
  name: secret-sync 
  namespace: $(K8S_NAMESPACE)
spec:
  vault:
    name: ${KEY_VAULT_NAME} # name of key vault
    object:
      name: $(KEY_VALUT_OBJECT_NAME)  # name of the akv object
      type: $(KEY_VALUT_TYPE) # akv object type
EOF

現有答案的替代方案(我認為這個現有答案是可行的方法)將使用AAD Pod Identity 基本上,它是一種讓您在 pod 內擁有應用程序身份的方式。 這樣您就不必對身份進行微觀管理,也不必將憑據傳遞給應用程序(只需使用內部端點)。 與 kubernetes 之外的 Azure 中的托管標識類似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM