每天五分钟玩转K8S(六)
今天要了解的是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
来进行版本回退,效果如下:
