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

时间:2019-01-30 23:21:24

标签: kubernetes

我有3个环境-质量检查,暂存和生产。 每个人都有其自己的certificate.properties文件

现在我只有一个秘密,它已按如下方式引用并安装在我的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

1 个答案:

答案 0 :(得分:1)

从头盔的角度(从安全角度出发)设计头盔控制结构指令以在一个YAML文件中管理dev, stage and prod上的部署是很糟糕的。

最好针对不同环境中所需的各个部署管理不同的k8s对象。

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