每个环境的 Kubernetes Secrets

问题描述

我正在使用 helm chart 将 pod 部署到多个环境。我想为每个环境(例如 dev、sit.c)都有一个秘密文件。我已经创建了 secrets.yaml 文件,该文件引用了每个环境的 values.yaml。

apiVersion: v1
kind: Secret
Metadata:
 name: my-secret
type: Opaque
data:

 DB_URL: {{ .Values.secret.db.url }}

每个环境的 values.yaml 如下所示:

templates:
 env:
 - name: DB_URL
   valueFrom:
     secretKeyRef:
       name: my-secret
       key: DB_URL
secret:
 db:
   url: <base64Encoded_value>

秘密没有应用到环境中。我在这里做错了什么?

解决方法

首先,值是否被values.yaml文件中的Secret对象成功引用?尝试运行“helm template”命令在本地渲染模板以查看结果。 如果它按预期工作,那么很高兴看到您如何使用该密钥在您的环境中应用。