helm更新latest镜像

简介: 有不少朋友跟我说,helm更新statefullset或者deployment时,使用latest镜像,无法更新,其实这个问题很好解决的,可以使用git-hash来解决,也可以使用我们本篇文章里的办法,添加环境变量来解决

有不少朋友跟我说,helm更新statefullset或者deployment时,使用latest镜像,无法更新,其实这个问题很好解决的,可以使用git-hash来解决,参考文章https://www.yinyubo.cn/?p=535

也可以使用我们本篇文章里的办法,添加环境变量来解决

helm更新的原理是,yaml文件没有变更,则不会更新,我们要想使用latest镜像先terminating老的pod,再running一个新的pod,只要使我们的statefullset或者deployment的yaml文件发生变更即可。下面贴出解决代码

containers:
        - image: '镜像名:latest'
          imagePullPolicy: Always
          env:
            - name: upgrade_time
              value: {{ date "2006-01-02-150405" .Release.Time }}

镜像使用latest,拉取策略使用alway pull的策略。在环境变量里添加一个upgrade_time升级时间,该时间使用helm的date功能生成,这样我们的yaml就能做到每次helm upgrade都发生变更,每次都能去拉取最新的镜像并且升级。并且我们可以在部署之后,通过kubectl exec -it “pod名字” sh 进入容器,检查env里的upgrade_time看看是否更新。

很简单吧,快试试吧

目录
相关文章
|
JSON Kubernetes Docker
k8s 集群中运行 docker registry 镜像仓库
k8s 集群中运行 docker registry 镜像仓库
1329 0
|
存储 Linux Docker
Docker 更新版本
Docker 更新版本原来版本 1.10 更新后的版本 19.03.1 更新 Docker 版本需要注意的问题: 注意系统是否支持新版本的储存驱动。 19.03.01 版本默认使用的储存驱动是 overlay2。
3001 0
|
4月前
|
Docker 容器
轻松搞定Docker!教你一键删除所有镜像!
轻松搞定Docker!教你一键删除所有镜像!
|
应用服务中间件 nginx 容器
Kubernetes-连接Harbor仓库拉取镜像
准备工作 Harbor 镜像仓库服务器,我的服务器IP是192.168.242.132; Kubernetes集群节点能通过【docker login】命令登录Harbor仓库,详细设置步骤参考这篇博文 开始配置 创建secret k...
3966 0
|
7月前
|
Docker 容器
docker从指定repo拉取镜像
docker从指定repo拉取镜像
226 1
|
Docker 容器
docker 强制删除镜像
docker 强制删除镜像
|
7月前
|
Docker 容器
docker删除镜像
docker删除镜像
221 0
|
Kubernetes Cloud Native Docker
如何将自己的镜像使用 helm 部署
如何将自己的镜像使用 helm 部署
296 0
如何将自己的镜像使用 helm 部署