当前位置: 首页 > news >正文

Kubernetes 节点摘除指南

目录

一、安全摘除节点的标准流程

1. 确认节点名称及状态

2. 标记节点为不可调度

3. 排空(Drain)节点

4. 删除节点

二、验证节点是否成功摘除

1. 检查节点列表

2. 检查节点详细信息

3. 验证 Pod 状态

三、彻底清理节点(可选)

1. 停止并重置 kubelet

2. 清理残留文件

3. 删除证书(如果使用 kubeadm)

四、常见问题

1. 节点状态一直为 NotReady

2. 无法删除节点


一、安全摘除节点的标准流程

1. 确认节点名称及状态

首先通过以下命令获取节点列表:

kubectl get nodes -o wide

找到需摘除的节点名称,并确认其状态为 Ready。若节点已异常(如 NotReady),需先排查问题或强制操作。

2. 标记节点为不可调度

使用 cordon 命令阻止新 Pod 调度到该节点:

kubectl cordon <node-name>

验证节点状态:

kubectl get nodes <node-name>
#输出中 "STATUS" 应为 "SchedulingDisabled"
3. 排空(Drain)节点

在移除节点前,需确保该节点上的 Pod 被安全迁移到其他节点,避免服务中断。

kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
  • --ignore-daemonsets:忽略 DaemonSet 管理的 Pod(如日志收集组件)。

  • --delete-emptydir-data:删除使用 emptyDir 卷的 Pod 数据。

  • 注意:如果存在无法自动迁移的 Pod(如没有副本的裸 Pod),需手动处理或添加 --force 参数。

4. 删除节点

驱逐完成后,执行以下命令从集群中移除节点:

kubectl delete node <node-name>

二、验证节点是否成功摘除

1. 检查节点列表

使用 get nodes 确认节点已消失:

kubectl get nodes
  • 如果节点已成功删除,列表中不再显示该节点。

  • 如果节点仍在列表中但状态为 NotReady,可能需检查网络或手动清理。

2. 检查节点详细信息
kubectl describe node <node-name>
  • 若节点已删除,会返回错误 

  • Error from server (NotFound): nodes "<node-name>" not found。
3. 验证 Pod 状态

检查原节点上的 Pod 是否已重新调度到其他节点:

kubectl get pods -o wide | grep node1
# 应无输出,表示所有 Pod 已迁移

三、彻底清理节点(可选)

如果节点需要从物理/虚拟环境中永久移除,还需在节点本机执行以下操作:

1. 停止并重置 kubelet
systemctl stop kubelet
kubeadm reset -f
2. 清理残留文件
rm -rf /etc/kubernetes/*
rm -rf ~/.kube/config
3. 删除证书(如果使用 kubeadm)
rm -rf /etc/kubernetes/pki/

四、常见问题

1. 节点状态一直为 NotReady
  • 检查节点网络是否正常。

  • 检查节点上的 kubelet 是否在运行:

    systemctl status kubelet
2. 无法删除节点
  • 确认已执行 kubectl drain

  • 强制删除节点(谨慎操作):

    kubectl delete node <node-name> --force --grace-period=0

    通过以上步骤,可以安全摘除 Kubernetes 集群中的节点并验证结果。

相关文章:

  • 人形机器人中的实时操作系统应用研究
  • 【T2I】MIGC++: Advanced Multi-Instance GenerationController for Image Synthesis
  • AgentOps - 帮助开发者构建、评估和监控 AI Agent
  • AI Agents系列之AI代理的类型
  • 【STM32单片机】#9 DMA直接存储器存取
  • SAP ECCS标准报表在报表中不存在特征CG细分期间 消息号 GK715报错分析
  • 苍穹外卖菜品图片保存本地代码修改
  • 【多线程-第四天-NSCache Objective-C语言】
  • Jetpack Compose 实现主页面与局部页面独立刷新的最佳实践
  • 四六级听力调频广播有线传输无线覆盖系统:弥补单一发射系统安全缺陷,构建稳定可靠听力系统平台
  • Hadoop集群部署教程-P3
  • udhcpc和udhcpd的区别
  • vue3+element-plus实现省市区三级地址多选
  • 【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践
  • 如何在 Kali 上解决使用 evil-winrm 时 Ruby Reline 的 quoting_detection_proc 警告
  • DeepSeek模型剪枝策略是什么?如何让AI更轻更快更聪明!
  • 从零到一:网站设计新手如何快速上手?
  • GRPO训练器 文档
  • argparse
  • LeetCode 第54~55题
  • 专注江苏网站建设/网络推广哪个平台最好
  • 凡客优品官方网站/seo短期培训班
  • 专门做装修的网站/网络公司取什么名字好
  • 在家建设一个网站需要什么手续/美国今天刚刚发生的新闻
  • 承德企业网站建设公司/关键词查询工具哪个好
  • 企业内部网站源码/百度图片