Kubernetes - 如何根据目标部署环境挂载不同的秘密卷



我有三个环境 - QA,暂存,生产。每个都有自己的凭据。属性文件

现在我只有一个秘密,它被引用并挂载在我的 yaml 文件中,如下所示

          - name: identity-service-secret-here-credentials-volume
            mountPath: "/root/.secrets"
.
.
.
      - name: identity-service-secret-here-credentials-volume
        secret:
          secretName: identity-service-secret-here-credentials

我希望它做相当于

if(env = QA)
  secretName = secret-qa
if(env = Staging)
  secretName = secret-staging
if(env = Prod)
  secretName = secret-prod

在一个 YAML 文件中使用 helm 控制结构指令来管理跨dev, stage and prod部署是糟糕的设计(也从安全角度来看)。

最好为不同环境中所需的相应部署管理不同的 k8s 对象。

可能需要在管道的每个阶段维护一个不同的密钥,或者在管道遍历管道时对其进行修改。此外,请注意,如果将密钥作为 JSON 或 YAML 存储在 SCM 中,则可能需要某种形式的加密来保护敏感信息。

最新更新