K8s集群重启与恢复-Node节点启停
1 应用场景
场景:在实际工作中,可能某个 Worker 节点需要维护,迁移,我们需要平滑的停止、启动该节点,应尽量减少启停中对集群、业务造成的影响
注意:剔除 Worker 节点操作中,该 Worker 节点上的工作负载(Pod)将被驱逐到其他节点上,请确保集群资源充足
2 操作步骤
2.1 停止 Worker 节点调度
# 查看信息
root@sh-gpu091:~# kubectl get node
NAME STATUS ROLES AGE VERSION
172.19.13.31 Ready node 403d v1.14.1
sh-cpu032.aibee.cn Ready node 403d v1.14.1
sh-cpu033.aibee.cn Ready node 403d v1.14.1
sh-gpu091.aibee.cn Ready node 403d v1.14.1
sh-gpu101.aibee.cn Ready node 403d v1.14.1
# 停止 Worker 节点调度
root@sh-gpu091:~# kubectl cordon sh-gpu101.aibee.cn
node/sh-gpu101.aibee.cn cordoned
查看节点状态
root@sh-gpu091:~# kubectl get node
NAME STATUS ROLES AGE VERSION
172.19.13.31 Ready node 403d v1.14.1
sh-cpu032.aibee.cn Ready node 403d v1.14.1
sh-cpu033.aibee.cn Ready node 403d v1.14.1
sh-gpu091.aibee.cn Ready node 403d v1.14.1
sh-gpu101.aibee.cn Ready,SchedulingDisabled node 403d v1.14.1
2.2 驱逐 Worker 节点上的工作负载
# --ignore-daemonsets 驱逐 pod 时忽略 daemonset
# --delete-local-data 驱逐 pod 时删除 pod 的临时数据,该参数不会删除持久化数据
root@sh-gpu091:~# kubectl drain sh-gpu101.aibee.cn --delete-local-data --ignore-daemonsets --force
node/sh-gpu101.aibee.cn already cordoned
WARNING: ignoring DaemonSet-managed Pods: cattle-system/cattle-node-agent-8wcvs, kube-system/kube-flannel-ds-kqzhc, kube-system/nvidia-device-plugin-daemonset-rr2lf, monitoring/prometheus-node-exporter-xtbxp
evicting pod "model-server-0"
evicting pod "singleview-proxy-client-pbdownloader-0"
evicting pod "singleview-proxy-service-0"
pod/singleview-proxy-client-pbdownloader-0 evicted
pod/singleview-proxy-service-0 evicted
pod/model-server-0 evicted
node/sh-gpu101.aibee.cn evicted
2.3 停止 Docker、Kubelet 等服务
systemctl stop kubelet
systemctl stop docker
查看节点上是否还有业务 pod
kubectl get pod -A -o wide |grep sh-gpu101.aibee.cn
如果不需要恢复了,可以删除节点并确认节点信息
root@sh-gpu091:~# kubectl delete node sh-gpu101.aibee.cn
node "sh-gpu101.aibee.cn" deleted
root@sh-gpu091:~# kubectl get node
NAME STATUS ROLES AGE VERSION
172.19.13.31 Ready node 403d v1.14.1
sh-cpu032.aibee.cn Ready node 403d v1.14.1
sh-cpu033.aibee.cn Ready node 403d v1.14.1
sh-gpu091.aibee.cn Ready node 403d v1.14.1
root@sh-gpu091:~#
2.4 恢复 Worker 节点
systemctl start docker
systemctl status docker
systemctl start kubelet
systemctl status kubelet
2.5 允许 Worker 节点调度
# 取消不可调度
kubectl uncordon sh-gpu101.aibee.cn
K8s集群重启与恢复-Node节点启停相关推荐
- java停启was集群_shell脚本实现weblogic 节点启停,应用部署
部署应用: java -cp /app/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -adminurl t3:// ...
- Kubeadm安装高可用的K8S集群--多master单node
Kubeadm安装高可用的K8S集群–多master单node master1 IP 192.168.1.180/24 OS Centos7.6 master2 IP 192.168.1.181/24 ...
- 使用sealos安装K8S集群时,需确保节点的swap是关闭的
使用sealos安装K8S集群时,需确保节点的swap是关闭的,否则会安装失败
- k8s高可用集群_搭建高可用集群(部署master2和node节点)---K8S_Google工作笔记0058
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后上一节我们把master1节点,搭建完成了,接下来我们把下面的 master2节点以及node ...
- sgrdb mysql_GreatDB数据库在HA架构的单调度集群模式下如何手动后台启停?
(1)启动GreatDB数据库 启动时需要注意先启动后端数据库,待所有数据库启动并验证可以登录后,再启动集群. 启动数据库 启动所有服务器上的mysql实例,启动之前 ps -ef|grep mysq ...
- k8s:kubeadm搭建k8s集群,加入新master节点报错
加入新的master节点 [root@k8s-master02 ~]#kubeadm join 172.20.1.236:16443 --token 7t2weq.bjbawausm0jaxury \ ...
- 搭建K8S集群之node节点部署
在上一篇文章中,我们完成了K8S系列之K8S集群之Master节点部署,在这篇文章中,我们将开始部署Node节点相关的组件.在node节点上,需要部署kubelet和kube-proxy两个K8S组件 ...
- k8s集群重新将master节点加入集群
文章目录 问题背景 解决过程 基础环境恢复 恢复etcd集群 恢复docker 恢复k8s集群 总结 问题背景 由三台master节点组成的k8s集群,由于其中一台master节点启动文件异常,将机器 ...
- 【K8S】基于单Master节点安装K8S集群
写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8 ...
最新文章
- 机器学习实战笔记(Python实现)-01-机器学习实战
- HDOJ 1056 HangOver
- rabbitmq 3.7.0+erlang 20.1 安装
- mysql 半径,MySQL基于距离半径的搜索和区域搜索POI实践
- P3291-[SCOI2016]妖怪【凸壳】
- pytorch的backward参数
- 做程序员10年了,复制粘贴是我最牛的技能,直到我看到了这几个公众号
- 190525每日一句
- 【语音处理】基于matlab GUI汉宁窗FIR陷波滤波器语音信号加噪去噪【含Matlab源码 1711期】
- .net快速开发平台,learun敏捷开发框架
- 开wifi微信定位服务器,企业微信wifi定位
- leetcode电话号码java_【LeetCode(Java) - 379】电话目录管理系统
- SpringCloud蓝绿发布
- JAVA数独解题(四):数对法
- python 安卓王者荣耀刷金币
- 基于android的快递寄件平台
- status_breakpoint谷歌浏览器如何解决?
- 解决网页文字不能复制的方法
- 3DMAX如何建模手
- java安装 错误1704_java - 从Eclipse内部启动Tomcat Mongrel插件时发生致命错误 - 堆栈内存溢出...