首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >helm3 -升级不以武力刷新吊舱

helm3 -升级不以武力刷新吊舱
EN

Stack Overflow用户
提问于 2021-01-25 10:15:24
回答 2查看 5.7K关注 0票数 3

我们正在使用helm3和Jenkins /CD管道将Java微服务部署到AWS 'ECR > EKS‘。然而,我们看到的是,如果我们重新运行Jenkins作业来重新安装部署/吊舱,那么如果没有代码更改,吊舱就不会重新安装。它仍然保持旧的运行舱的原样。这里考虑的用例是, AWS在部署期间提取的db秘密配置已经改变,因此需要通过重新触发Jenkins作业来重新部署服务。

方法1https://helm.sh/docs/helm/helm_upgrade/

我试过使用“头盔升级-安装-强制.”正如helm3升级文档中所建议的,但是它失败了,在Jenkins中出现了以下错误

“错误:升级失败:未能替换对象:服务”dbservice无效: spec.clusterIP:无效值:“:字段不可变”

方法2:使用--重新创建-从较早的舵机版本中的豆荚

通过“舵机升级--安装--重新创建--豆荚.”,我在Jenkins日志中得到以下警告

“旗帜--重新创建-豆荚已被废弃,功能将不再更新。有关重新创建豆荚的其他方法,请参阅文档”。

然而,豆荚会被重新创造出来。但正如我们所知--重新开始不是软启动。因此,我们将有停机时间,这打破了微观服务的原则。

使用舵机版本

GitCommit:"7090a89efc8a18f3d8178bf47d2462450349a004",GitTreeState:“干净”,GoVersion:"go1.14.10"}

问题

  • 如何使用带舵机3和舵机升级为上述错误?
  • 如何实现软重新启动与废弃-重建-豆荚?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-25 10:19:58

票数 2
EN

Stack Overflow用户

发布于 2021-01-25 11:33:07

下面是我如何配置它-感谢@vasili重定向到正确的文档部分。

deployment.yaml中,我添加了注释和rollme

代码语言:javascript
复制
kind: Deployment
spec:
  template:
    metadata:
      annotations:
        rollme: {{ randAlphaNum 5 | quote }}

根据文档,每次调用模板函数randAlphaNum都会生成唯一的随机字符串。因此,随机字符串总是更改,并导致部署滚动。

文档中描述的另一种方法是有关文件的SHA值的更改。

在过去,helm建议使用--重新创建-pods标志作为另一种选择。此标志已标记为deprecated in Helm 3,以支持上述更声明性的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65882761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档