kubernetes - 使用Helm管理我的 “app”但使用kubectl管理版本

标签 kubernetes kubernetes-helm

因此,我想做的是使用Helm将应用程序安装到我的kubernetes集群中。假设图表中的图片标签为1.0.0。

然后,作为CI / CD构建管道的一部分,我想使用kubectl(即kubectl set image deployment/myapp...)更新image标签

问题是如果我随后对 Helm 图进行了任何更改(例如副本数),并且我使用helm upgrade myapp将图像标签恢复为1.0.0。

我尝试将--reuse-values标志传递给helm upgrade命令,但这没有帮助。

谁有想法?我需要使用 Helm 来更新图像标签吗?我正在尝试避免这种情况,因为该图表在管道的当前阶段不可用。

最佳答案

使用CI / CD进行构建和部署时,您应该使用单个事实来源,这意味着文件的版本例如为Git,您将在该文件中进行所有更改。因此,如果您使用Helm图表,则应将其存储在例如Git和所有更改(例如新镜像)应在Git存储库中完成。

您可能有一个构建管道,最终将新镜像提交到Kubernetes配置存储库。然后触发部署管道,该管道使用Helm或Kustomize应用更改并可能执行测试。

关于kubernetes - 使用Helm管理我的 “app”但使用kubectl管理版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59760731/

相关文章:

kubernetes - 使用 Traefik 和 Kubernetes 将流量路由到不同命名空间中的服务

kubernetes - 如何根据应用程序名称使用单独的日志流将Kubernetes(EKS)日志推送到Cloudwatch日志

docker - redis哨兵高可用haproxy

kubernetes - Kubernetes 升级到 v1.22 后 DevOps CI/CD 管道中断

kubernetes-helm - 如何在 Helm Chart 的模板内使用模板?

kubernetes-helm - 在 helm 的 values.yaml 中使用 Release.Name

kubernetes - _condition_ 在公制中意味着什么?

kubernetes - 如何使用 Ingress 公开 nats(bitnami)

kubernetes - yaml 解析错误 Helm

devops - Jenkins X 将自定义变量的值传递到 helm Values