Jenkins X 在预览环境中使用机密



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

您可以创建另一个名为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 -"

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

我们有一个命令,用于将服务从一个命名空间链接到另一个命名空间 - 例如通过 jx step 链接服务将服务从暂存链接到预览环境。

最好添加类似的命令以相同的方式从命名空间复制机密。我提出了一个问题来跟踪这个新功能

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

最新更新