You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Keyvault创建Kubernetes Secrets?

可行,以下是几种落地方案

1. Azure CLI脚本手动/自动化创建

适合一次性同步或定时任务场景,直接通过命令链拉取Keyvault机密并生成Kubernetes Secret:

# 从Azure Keyvault获取指定机密的值
SECRET_VALUE=$(az keyvault secret show --name <你的机密名称> --vault-name <你的Keyvault名称> --query value -o tsv)

# 创建Kubernetes Opaque类型的Secret
kubectl create secret generic <目标K8s Secret名称> --from-literal=<Secret键名>="$SECRET_VALUE"

如果需要批量同步多个机密,可以循环遍历Keyvault机密列表:

# 获取Keyvault中所有机密名称
SECRET_NAMES=$(az keyvault secret list --vault-name <你的Keyvault名称> --query "[].name" -o tsv)

# 循环创建/更新Secret
for NAME in $SECRET_NAMES; do
  VALUE=$(az keyvault secret show --name $NAME --vault-name <你的Keyvault名称> --query value -o tsv)
  kubectl create secret generic <批量目标Secret名称> --from-literal=$NAME="$VALUE" --dry-run=client -o yaml | kubectl apply -f -
done

2. Azure Key Vault Operator自动同步

适合长期运维场景,通过Kubernetes Operator实现Keyvault机密到K8s Secret的自动同步,支持机密更新时自动刷新:
部署Operator后,创建如下自定义资源(CR)即可完成同步:

apiVersion: azure.microsoft.com/v1alpha1
kind: AzureKeyVaultSecret
metadata:
  name: secret-sync-resource
spec:
  # 配置你的Azure Keyvault信息
  vault:
    name: <你的Keyvault名称>
    resourceGroup: <Keyvault所在资源组>
    subscriptionId: <订阅ID>
  # Keyvault中要同步的机密名称
  secretName: <你的机密名称>
  # 要生成的Kubernetes Secret名称
  targetSecretName: <目标K8s Secret名称>
  # Secret类型,默认Opaque
  targetSecretType: Opaque

Operator会自动监听Keyvault机密的变化,实时更新对应的K8s Secret。

3. 结合GitOps工具(Argo CD/Flux CD)实现CI/CD同步

如果采用GitOps工作流,可以在CI阶段拉取机密并注入Secret模板,再由CD工具部署:

  1. 在CI流水线(如GitHub Actions、Azure DevOps)中用Azure CLI拉取机密值
  2. 用Helm、Kustomize等工具将机密值注入Secret YAML模板
  3. 将生成的Secret YAML提交到加密的Git仓库(仅授权人员可访问)
  4. 由Argo CD/Flux CD自动将Secret部署到Kubernetes集群

关键注意点

  • 权限配置:执行操作的实体(CLI用的服务主体、Operator的服务账号)需拥有Keyvault的Secret Get权限,以及Kubernetes集群的Secret Create/Update权限
  • 安全防护:禁止在日志中输出机密值,脚本中避免用echo打印机密,确保环境变量不被捕获
  • 刷新机制:脚本方式需定时执行以同步更新;Operator方式支持自动刷新;GitOps方式需配置CI触发条件同步机密变更

内容的提问来源于stack exchange,提问作者Jerald Baker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:32:55