【k8s集群中怎么批量操作整个ns的deploy设定pod数为0】

 

 

 

 

 

[标签]: kubernetes集群管理   k8s批量操作   k8s设定deploy/sts的预期pod数为0   k8s服务伪下线

 

 

问题详情的描述或方案目标的预期:

收到指示需要将kubernetes(k8s)集群所有的业务pod停止,相当于停掉业务的意思。但是一周后需要恢复。(其实需求本质是因为集群和DB以及中间件隔离,导致错误日志疯狂输出磁盘告警;真正的业务隔离已经通过域名入口隔离。)经过考虑可以把pod都下掉,保留deploy/sts,隔离期过后直接恢复预期pod数量即可。

 

 

 

【解决方案】

 

01、 查看业务空间所有的deploy并备份 kubectl -n myprodxxx get deploy >prod_myprodxxx_deploy_20220719bak

02、 查看业务空间所有的statefulset(sts)并备份 kubectl -n myprodxxx get sts >prod_myprodxxx_sts_20220719bak

03、 查看业务空间所有的pods并备份 kubectl -n myprodxxx get po >prod_myprodxxx_pods_20220719bak

04、 批量操作设定所有deploy资源对象的预期pod数为0 for i in `kubectl -n myprodxxx get deploy|awk '{print$1}'|grep -v NAME`;do kubectl -n myprodxxx scale --replicas=0 deploy $i;done

04、 批量操作设定所有statefulset资源对象的预期pod数为0 for i in `kubectl -n myprodxxx get sts|awk '{print$1}'|grep -v NAME`;do kubectl -n myprodxxx scale --replicas=0 sts $i;done

  

总结: 熟悉kubernetes操作命令、批量思维做事。

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1