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

如何配置GCP Secret Store CSI Driver提取K8s环境变量密钥值

解决GCP Secret Store CSI Driver提取JSON密钥特定键值到Pod环境变量的问题

你当前的配置里同时混用了secrets和objects字段,且secretObjects部分仍引用完整的JSON文件admin.txt,未用到jmesPath解析后的键值——这就是环境变量拿到完整JSON字符串的原因。

修正后的SecretProviderClass配置

---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: test-secret
spec:
  provider: gcp
  parameters:
    objects: |
      - objectName: "testpassword"
        objectType: secretsmanager
        resourceName: "projects/<project-id>/secrets/testpassword/versions/latest"
        jmesPath:
          - path: "admin_user"
            objectAlias: "admin_user"
          - path: "admin_password"
            objectAlias: "admin_password"
  secretObjects:
  - secretName: testpassword
    type: Opaque
    data:
    - objectName: "admin_user"  # 对应jmesPath定义的objectAlias
      key: admin_user
    - objectName: "admin_password"  # 对应jmesPath定义的objectAlias
      key: admin_password

配置说明

  • 移除冗余的secrets字段,仅用objects字段处理Secret Manager密钥的解析逻辑
  • 在objects块中明确指定Secret Manager的resourceName,通过jmesPath提取JSON中的目标字段,并为每个字段设置objectAlias作为标识
  • secretObjects部分直接引用解析后的objectAlias,将提取出的键值同步到Kubernetes Secret的对应key中

简化后的Pod配置(可选)

如果不需要将密钥挂载到容器文件系统,可以移除卷挂载相关配置,仅保留环境变量引用:

---
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: default
spec:
  serviceAccountName: app-sa
  containers:
  - image: gcr.io/google.com/cloudsdktool/cloud-sdk:slim
    name: mypod
    env:
      - name: "ADMIN_USER"
        valueFrom:
          secretKeyRef:
            name: "testpassword"
            key: admin_user
      - name: "ADMIN_PASSWORD"
        valueFrom:
          secretKeyRef:
            name: "testpassword"
            key: admin_password
    resources:
      requests:
        cpu: 100m
    tty: true

验证结果

部署完成后,进入容器检查环境变量:

kubectl exec -it test-pod -- env | grep ADMIN_

预期输出:

ADMIN_USER=test-admin
ADMIN_PASSWORD=password

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:40:57