Kubernetes 虚拟机安全关机操作流程 [复制链接]
发表于 2025-6-22 08:55:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
不规范关机的危害

Kubernetes集群(尤其是基于VirtualBox搭的)关机/暂停时,如果不规范操作,会导致:


  • etcd 数据破坏
  • kubelet 容器状态丢失
  • PV 挂载紊乱(尤其用了 local PV / hostPath)
  • 集群启动卡住或组件 crash
下面是安全关机的操作流程,分为简朴版和完整版,学习和测试环境可按简朴版执行即可
假设为3个节点,k8s-node1为master节点,k8s-node2和k8s-node3为工作节点
简朴版关机流程

1️⃣ 先驱逐节点上的 Pod

   kubectl drain k8s-node1 --ignore-daemonsets
  kubectl drain k8s-node2 --ignore-daemonsets
  kubectl drain k8s-node3 --ignore-daemonsets
  2️⃣ 关闭节点

将各节点虚拟机关闭
在虚拟机里安全关机,最好先关闭子节点,再关闭master节点,依次在k8s-node2,k8s-node3上执行,末了再k8s-node1 master节点执行关机命令
    shutdown -h now
   3️⃣ 下次启动虚拟机后,让节点恢复调理

前提是docker和kubelet设置为开机启动,
启动时先启动master节点,然后等 30秒-1分钟 etcd 起稳,再启动子节点
   kubectl uncordon k8s-node1
kubectl uncordon k8s-node2
kubectl uncordon k8s-node3
   完整版关机流程

1️⃣ 先优雅停止 Kubernetes 集群

只须要在 master 节点 执行以下命令即可(不用每个节点跑):
   kubectl drain k8s-node1 --ignore-daemonsets
kubectl drain k8s-node2 --ignore-daemonsets
kubectl drain k8s-node3 --ignore-daemonsets
  上面的命令是针对v1.17及以下版本的,如果高于或等于v1.18,还需加上参数--delete-emptydir-data。
作用:


  • 关照集群「我要关机」,驱逐 Pod,卸载 Volume
  • 防止 etcd 或挂载数据未同步导致数据丢失
   ❗ 如果只是实验环境,可以跳过 drain,但生产环境建议做
  
2️⃣ 停止 kubelet + docker/containerd

三台机器都执行:
   systemctl stop kubelet
systemctl stop docker  # 如果你用 containerd 就改成 systemctl stop containerd
   作用:


  • 干净卸载 Pod、清理网络 namespace、detach 卷
  • 防止「虚拟机强制关机」导致 Container runtime metadata 破坏
3️⃣ 优雅关机虚拟机

不要直接强制 power off!
在 VirtualBox 里,依次选每个节点:


  • VirtualBox → 关闭 → 发送关机信号 (ACPI Shutdown)
    等机器自己关机,类似执行 shutdown -h now
如果 ACPI 关机无效(有些体系不相应),虚拟机内执行:
   shutdown -h now
  
✅ 下次启动时


  • 先启动etcd 节点 / master 节点
  • 等 30秒-1分钟 etcd 起稳,再启动 node 节点
  • 每台机开机后,执行:
   systemctl start docker
systemctl start kubelet
  如果docker和kubelet设置为开机启动可跳过。
4. master 节点上执行下面的命令,让节点重新加入调理:
   kubectl uncordon k8s-node1
kubectl uncordon k8s-node2
kubectl uncordon k8s-node3
  懒人教程

实验环境不怕数据丢 → 直接执行虚拟机内关机命令:
   shutdown -h now
  等机器都关了,再关 VirtualBox。
别直接 VirtualBox → 强制关机(power off),如许最轻易破坏 etcd。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表