今天要了解的是k8s的rolling update(滚动更新)。

一、了解一下滚动更新的操作

先创建一个httpd:2.2.31的deployment,然后更新到2.2.32
yml文件如下
在这里插入图片描述
看到images的信息是2.2.31
在这里插入图片描述
现在将yml文件改成2.2.32版本
在这里插入图片描述
在这里插入图片描述
看到已经开始更新,特点是每次只更新替换一个pod,保证deployment的健壮性
在这里插入图片描述
通过查询kubectl describe deployment httpd2可以完整地看到整个scale up/down过程
在这里插入图片描述
(可以很清楚的看到数量的变化)
其中,k8s提供了参数来控制每次替换的pod数量,maxSurge和maxUnavailable。

二、探索回滚的过程

我们先分别执行三次不同版本的httpd的deployment
在这里插入图片描述
记得加上–record
在这里插入图片描述
镜像分别是16.17.18
通过kubectl rollout history deployment httpd2查询到历史版本
在这里插入图片描述
部署完毕,现在的版本如下:
在这里插入图片描述
可以通过

kubectl rollout undo deployment httpd2 --to-revision=1

来进行版本回退,效果如下:
在这里插入图片描述

Logo

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

更多推荐