繁体   English   中英

k8s:创建部署时使用参数化的映像标记

[英]k8s: Use parameterized image tag when creating deployment

我想以以下方式运行kubernetes部署:

apiVersion: v1
kind: Deployment
metadata:
  name: my-deployment
  namespace: my-namespace
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: my-app
        image: our-own-registry.com/somerepo/my-app:${IMAGE_TAG}
        env:
        - name: FOO
          value: "BAR"

这将交付给开发人员,以便他们可以使用自己喜欢的图像标签按需执行部署。

传递标签变量的最佳方法/推荐模式是什么?

在命令行上执行导出以使其在运行kubectl命令的shell上可用作env var?

不幸的是,通过本地kubernetes工具是不可能的。 这里

kubectl将永远不支持变量替换。

但是,该问题案例也有一些不错的解决方法。 最好的方法是使用模板通过Helm 图表部署您的应用程序

对于简单的用例, envsubst会做的很好:

IMAGE_TAG=1.2 envsubst < deployment.yaml | kubectl apply -f -`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM