关于Kubernetes-v1.23.6-资源调度-Deployment-命令行扩容-暂停-恢复相关的操作
Posted on 2023-09-20 22:43 520_1351 阅读(25) 评论(0) 编辑 收藏 举报还是先说明一下当前k8s集群中 deployment , rs , pods 的情况
[root@k8s-master ~]# kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 3/3 3 3 25h [root@k8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-754898b577 3 3 3 25h nginx-deploy-78d8bf4fd7 0 0 0 25h nginx-deploy-8d945596c 0 0 0 49m [root@k8s-master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deploy-754898b577-d6kmr 1/1 Running 0 36m nginx-deploy-754898b577-qd25d 1/1 Running 0 36m nginx-deploy-754898b577-sk9pc 1/1 Running 0 36m
先将deployment中的pod扩容到6个,使用edit命令是可以的
今天笔者将使用另外一种方式,就是基于命令的方式扩容,缩容效果也是一样的,只是改一下数字即可
[root@k8s-master qq-5201351]# kubectl scale --replicas=6 deploy nginx-deploy deployment.apps/nginx-deploy scaled
再次观察deployment , rs , pods 相关的信息 ,都发生了相应的变化
[root@k8s-master ~]# kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 6/6 6 6 25h [root@k8s-master ~]# kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deploy-754898b577 6 6 6 25h nginx-deploy-78d8bf4fd7 0 0 0 25h nginx-deploy-8d945596c 0 0 0 51m [root@k8s-master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deploy-754898b577-2rnvs 1/1 Running 0 47s nginx-deploy-754898b577-d6kmr 1/1 Running 0 37m nginx-deploy-754898b577-hndjz 1/1 Running 0 47s nginx-deploy-754898b577-mrt77 1/1 Running 0 47s nginx-deploy-754898b577-qd25d 1/1 Running 0 37m nginx-deploy-754898b577-sk9pc 1/1 Running 0 37m [root@k8s-master ~]#
由于每次对 pod template 中的信息发生修改后,都会触发更新 deployment 操作,那么此时如果频繁修改信息,就会产生多次更新
而实际上只需要执行最后一次更新即可,当出现此类情况时我们就可以暂停 deployment 的 rollout
通过 kubectl rollout pause deployment <name> 就可以实现暂停,直到你下次恢复后才会继续进行滚动更新
如果我们再恢复 rollout,通过命令 kubectl rollout deploy <name>
恢复后,我们再次查看 rs 和 po 信息,我们可以看到就开始进行滚动更新操作了
如下记录一下核心的操作,先是暂停 deployment 的 rollout
[root@k8s-master ~]# kubectl rollout pause deploy nginx-deploy
deployment.apps/nginx-deploy paused
此时再修改deployment,如修改image的版本或者资源限制等,保存后,就不会立即更新了
更新后,我们也可以通过如下的命令,查看历史版本,即指定版本的更新的内容
kubectl rollout history deploy nginx-deploy
kubectl rollout history deploy nginx-deploy --revision=6
最后,我们恢复deployment 的 rollout
[root@k8s-master ~]# kubectl rollout history deploy nginx-deploy
deployment.apps/nginx-deploy
一恢复,就会立即开始,暂停后做的所有更新,生成新的版本
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17718704.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!