繁体   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