【问题标题】:Jenkins X use secrets in Preview environmentsJenkins X 在预览环境中使用机密
【发布时间】:2019-02-28 11:31:24
【问题描述】:

我正在使用 Jenkins X 进行微服务构建/部署。在每个环境中,都有跨微服务(客户端密钥等)使用的共享机密,这些机密使用valueFromsecretKeyRef 作为环境变量注入deployment.yaml。这在命名空间众所周知的生产和暂存中效果很好,但是由于每次预览都会生成一个新的命名空间,因此这些秘密将不存在。有没有办法从另一个已知的命名空间或更好的方法复制秘密?

【问题讨论】:

    标签: jenkins jenkins-x


    【解决方案1】:

    您可以创建另一个名为 jx-preview 的命名空间来存储预览特定的机密,并在 Jenkinsfile 中的 jx preview 命令之后添加此行

    sh "kubectl get secret {secret_name} --namespace={from_namespace} --export -o yaml | kubectl apply --namespace=jx-$ORG-$PREVIEW_NAMESPACE -f -"

    不确定这是否是最好的方法

    【讨论】:

      【解决方案2】:

      我们有一个命令可以将 link services 从一个命名空间服务到另一个命名空间 - 例如通过 jx step link services 将服务从暂存环境链接到您的预览环境。

      添加一个类似的命令来以相同的方式从命名空间复制机密会很好。我提出了an issue to track this new feature

      【讨论】:

        【解决方案3】:

        另一种选择是在charts/preview/templates/myjob.yaml 中创建您自己的作业,并在该作业中创建您需要的任何秘密,然后对其进行注释,使其作为预览图表的安装后挂钩触发

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-11-05
          • 1970-01-01
          • 2019-02-22
          • 1970-01-01
          • 1970-01-01
          • 2019-07-04
          • 1970-01-01
          相关资源
          最近更新 更多