今天是1024程序员节日,好不容易放个假,就继续带着大家学习一下k8s的基础教程吧,消失了一段时间,不知道大家还记得以前的教程系列吗?如果不清楚的,可以回看我之前的系列文章,温故而知新啊!!
在前面的教程中我们学习了怎么在k8s上部署我们的项目,接下来,就开始我们怎么通过k8s去滚动更新我们的项目代码吧。
在K8s中,如果我们为一个项目容器创建多个pod的时候,当我们在进行pod中的容器镜像更新时,k8s会帮助我们实现滚动更新,保证在实际的线上访问始终保持至少一个可用pod在启用,不会造成更新停机或者是业务中断问题。
每次进行Rolling Update的时候,都会从第一个pod开始进行镜像切换,当第一个pod完成镜像更新并且容器正常启动之后,才会进行下一个pod的镜像更新,直到所有的pod完成本次的迭代更新操作。
下面我给大家简单地演示整个滚动更新的过程:

  1. 部署三个相同镜像版本的deployment
    在这里插入图片描述
    大家可以看到准备部署的yaml中httpd的镜像版本为2.2.32,我们通过命令:
kubectl apply -f httpd.yaml

在这里插入图片描述
然后我们看到已经成功部署三个httpd的pod
在这里插入图片描述
并且通过查看详细信息可以看到镜像的版本是2.2.32
2. 修改yaml文件中的容器镜像
现在我们将镜像的版本改成2.2.33,再执行命令,看看pod的镜像是否会进行更新。
在这里插入图片描述
这时候,我们会看到镜像的版本从原来的2.2.32已经更新为2.2.33了。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐