CKA备考实验 | 滚动升级

书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》

一边学习一边整理老师的课程内容及实验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:CKA备考实验 | 汇总_热爱编程的通信人的博客-CSDN博客


对于web1来说里面有5个pod,如果要把镜像换成另外一个镜像,我们知道是将所有的pod删除,然后重新用新的镜像创建5个pod出来。这个过程里是一次性把所有5个旧pod全部删除,同时一次性创建5个新pod,还是删除部分旧pod,再创建几个新pod,然后再删除部分旧pod,再创建几个新pod(滚动)呢?

滚动更新就是,不是一次性把所有pod的镜像全部更新,而是先更新几个pod镜像,更新完成之后,再更新几个pod的镜像,直到把所有pod全部更新完毕。

那么每次更新几个pod呢?是由以下两个参数决定的。

(1)maxSurge:用来指定最多一次创建几个pod,可以是百分比,也可以是具体数目。

(2)maxUnavailable:用来指定最多删除几个pod,可以是数字或者百分比。

执行滚动更新

为了更好地看到滚动更新的效果,这里设置在更新镜像时,每次只更新一个pod。

步骤1:通过kubectl edit打开deployment的配置。

##########实操验证##########
[root@vms10 1.8+]# kubectl edit deployments web1
...
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
...

这里可看到:

maxSurge的值被设置为25%,即变更镜像时先创建pod总数的25%个数的pod。

maxUnavailable的值被设置为25%,即变更镜像时关闭pod总数的25%个数的pod。

整个意思就是,变更镜像时先关闭“总pod数1/4”个旧pod,同时创建“总pod数1/4”个新pod。

步骤2:修改这两个参数的值均为1。

##########实操验证##########
...
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
...

意思就是,变更镜像时,删除一个pod,创建一个pod。

步骤3:再次变更镜像,查看变更的情况。

##########实操验证##########
[root@vms10 1.8+]# kubectl rollout undo deployment/web1 --to-revision=8
deployment.apps/web1 rolled back
[root@vms10 1.8+]# kubectl get pods
NAME                    READY   STATUS              RESTARTS   AGE
web1-5bb57f44fb-7mclz   0/1     Pending             0          0s
web1-5bb57f44fb-8dg9w   1/1     Running             0          6s
web1-5bb57f44fb-rtnfq   0/1     ContainerCreating   0          6s
web1-5cc989cc89-5t7bm   0/1     Terminating         0          2m17s
web1-5cc989cc89-8cbmg   1/1     Terminating         0          2m25s
web1-5cc989cc89-b68q8   1/1     Running             0          2m25s
web1-5cc989cc89-d8q6g   1/1     Running             0          2m25s
web1-5cc989cc89-w7hmz   1/1     Running             0          2m19s
[root@vms10 1.8+]#

可以看到,这里是删除了1个pod,创建1个pod。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值