需求分析
1.我们使用helm来实现应用程序的更新。
2.应用程序更新的关键就是镜像。每次我们的代码合入develop分支之后,都会产生一个新的docker镜像。
3.我们需要让helm知道我们使用了最新的docker镜像。这样部署的应用才是最新的。
4.helm包是通过nexus上传的,从设计上来说,不适合每一次cd流程就产生一个helm包并上传,helm本身也没有提供上传接口。helm包的设计是希望一个helm包能一直通用于某一类程序。
5.综上所述,我们的cd流程的关键是,在helm包不更新的情况下,让helm包能每次cd流程后,通过developmengt.yaml使用最新的docker镜像在K8S上进行部署
使用误区
误以为developmengt.yaml里配置container.image的tag为latest,imagePullPolicy为always,就能每次部署的时候拉取最新的镜像。
接下来,我们看看默认配置
我们经常会错误的配置Chart.Appversion为latest,如下图
我们经常会错误的配置Chart.Appversi