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

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 集群中的节点并验证结果。

相关文章:

Kubernetes 节点摘除指南

目录 一、安全摘除节点的标准流程 1. 确认节点名称及状态 2. 标记节点为不可调度 3. 排空&#xff08;Drain&#xff09;节点 4. 删除节点 二、验证节点是否成功摘除 1. 检查节点列表 2. 检查节点详细信息 3. 验证 Pod 状态 三、彻底清理节点&#xff08;可选&#xf…...

ReliefF 的原理

&#x1f31f; ReliefF 是什么&#xff1f; ReliefF 是一种“基于邻居差异”的特征选择方法&#xff0c;用来评估每个特征对分类任务的贡献大小。 它的核心问题是&#xff1a; “我怎么知道某个特征是不是重要&#xff1f;是不是有能力把不同类别的数据区分开&#xff1f;” 而…...

继承:(开始C++的进阶)

我们今天来学习C的进阶&#xff1a; 面向对象三大特性&#xff1a;封装&#xff0c;继承&#xff0c;多态。 封装我们在前面已经学了&#xff0c;我们细细理解&#xff0c;我们的类的封装&#xff0c;迭代器的封装&#xff08;vector的迭代器可以是他的原生指针&#xff0c;li…...

oracle数据库单个表空间达到32G后程序报错表空间不足问题排查、处理

oracle数据库单个表空间达到32G后程序报错表空间不足问题排查、处理 系统宕机tomcat日志报错表空间无法增长&#xff0c;排查发现oralce表空间文件到了32G。 通过AI查了下&#xff0c;“oracle是否支持表空间达到32G后&#xff0c;自动创建新的表空间文件” 答复是oralce不支…...

人工智能——梯度提升决策树算法

目录 摘要 14 梯度提升决策树 14.1 本章工作任务 14.2 本章技能目标 14.3 本章简介 14.4 编程实战 14.5 本章总结 14.6 本章作业 本章已完结&#xff01; 摘要 本章实现的工作是&#xff1a;首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据…...

数据结构学习笔记 :基本概念、算法特性与线性表实现

目录 数据的逻辑结构数据的物理结构算法的五大特性好的算法目标时间复杂度与空间复杂度线性表的顺序存储&#xff08;顺序表&#xff09; 6.1 静态分配 6.2 动态分配 6.3 基本操作及时间复杂度 一、数据的逻辑结构 数据的逻辑结构描述数据元素之间的逻辑关系&#xff0c;分为…...

【leetcode hot 100 136】只出现一次的数字

解法一&#xff1a;&#xff08;异或XOR&#xff09;相同的数字出现两次则归零 class Solution {public int singleNumber(int[] nums) {int result 0;for(int num:nums){result ^ num;}return result;} }注意&#xff1a; 其他方法&#xff1a;HashList记录次数再查找数组&a…...

QEMU学习之路(8)— ARM32通过u-boot 启动Linux

QEMU学习之路&#xff08;8&#xff09;— ARM32通过u-boot 启动Linux 一、前言 参考文章&#xff1a; Linux内核学习——内核的编译和启动 Linux 内核的编译和模拟执行 Linux内核运行——根文件系统 Linux 内核学习——使用 uboot 加载内核 二、构建Linux内核 1、获取Linu…...

AgentOps - 帮助开发者构建、评估和监控 AI Agent

文章目录 一、关于 AgentOps二、关键集成 &#x1f50c;三、快速开始 ⌨️2行代码中的Session replays 首类开发者体验 四、集成 &#x1f9be;OpenAI Agents SDK &#x1f587;️CrewAI &#x1f6f6;AG2 &#x1f916;Camel AI &#x1f42a;Langchain &#x1f99c;&#x1…...

leetcode 122. Best Time to Buy and Sell Stock II

题目描述 这道题可以用贪心思想解决。 本文介绍用动态规划解决。本题分析方法与第121题一样&#xff0c;详见leetcode 121. Best Time to Buy and Sell Stock 只有一点区别。第121题全程只能买入1次&#xff0c;因此如果第i天买入股票&#xff0c;买之前的金额肯定是初始金额…...

【ROS】代价地图

【ROS】代价地图 前言代价地图&#xff08;Costmap&#xff09;概述代价地图的参数costmap_common_params.yaml 参数说明costmap_common_params.yaml 示例说明global_costmap.yaml 参数说明global_costmap.yaml 示例说明local_costmap.yaml 参数说明local_costmap.yaml 示例说明…...

《Against The Achilles’ Heel: A Survey on Red Teaming for Generative Models》全文阅读

《Against The Achilles’ Heel: A Survey on Red Teaming for Generative Models》 突破阿基里斯之踵&#xff1a;生成模型红队对抗综述 摘要 生成模型正迅速流行并被整合到日常应用中&#xff0c;随着各种漏洞暴露&#xff0c;其安全使用引发担忧。鉴于此&#xff0c;红队…...

datagrip连接mysql问题5.7.26

1.Case sensitivity: plainmixed, delimitedexac Remote host terminated the handshake. 区分大小写&#xff1a;plain混合&#xff0c;分隔exac 远程主机终止了握手。 原因:usessl 参数用于指定是否使用 SSL&#xff08;Secure Sockets Layer&#xff09;加密来保护数据传…...

文件内容课堂总结

Spark-SQL连接Hive Apache Hive是Hadoop上的SQL引擎&#xff0c;Spark SQL编译时可选择是否包含Hive支持。包含Hive支持的版本支持Hive表访问、UDF及HQL。生产环境推荐编译时引入Hive支持。 内嵌Hive 直接使用无需配置&#xff0c;但生产环境极少采用。 外部Hive 需完成以下配置…...

探索亮数据Web Unlocker API:让谷歌学术网页科研数据 “触手可及”

本文目录 一、引言二、Web Unlocker API 功能亮点三、Web Unlocker API 实战1.配置网页解锁器2.定位相关数据3.编写代码 四、Web Scraper API技术亮点 五、SERP API技术亮点 六、总结 一、引言 网页数据宛如一座蕴藏着无限价值的宝库&#xff0c;无论是企业洞察市场动态、制定…...

AF3 create_alignment_db_sharded脚本process_chunk函数解读

AlphaFold3 create_alignment_db_sharded 脚本在源代码的scripts/alignment_db_scripts文件夹下。该脚本中的 process_chunk 函数通过调用 read_chain_dir 函数,读取每个链的多序列比对(MSA)文件并整理成统一格式的字典结构chunk_data 返回。 函数功能: read_chain_dir:读…...

【本地MinIO图床远程访问】Cpolar TCP隧道+PicGo插件,让MinIO图床一键触达

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言MinIO本地安装与配置cpolar 内网穿透PicGo 安装MinIO远程访问总结互动致谢参考目录…...

PyTorch的benchmark模块

PyTorch的benchmark模块主要用于性能测试和优化&#xff0c;包含核心工具库和预置测试项目两大部分。以下是其核心功能与使用方法的详细介绍&#xff1a; 1. 核心工具&#xff1a;torch.utils.benchmark 这是PyTorch内置的性能测量工具&#xff0c;主要用于代码片段的执行时间…...

Spring Boot 参数校验 Validation 终极指南

1. 概述 Spring Validation 基于 JSR-303&#xff08;Bean Validation&#xff09;规范&#xff0c;通过Validated注解实现声明式校验。核心优势&#xff1a; 零侵入性&#xff1a;基于 AOP 实现方法拦截校验规范统一&#xff1a;兼容 Bean Validation 标准注解功能扩展&…...

Policy Gradient思想、REINFORCE算法,以及贪吃蛇小游戏(一)

文章目录 Policy Gradient思想论文REINFORCE算法论文Policy Gradient思想和REINFORCE算法的关系用一句人话解释什么是REINFORCE算法策略这个东西实在是太抽象了,它可以是一个什么我们能实际感受到的东西?你说的这个我理解了,但这个东西,我怎么优化?在一堆函数中,找到最优…...

Angular 框架详解:从入门到进阶

Hi&#xff0c;我是布兰妮甜 &#xff01;在当今快速发展的 Web 开发领域&#xff0c;Angular 作为 Google 主导的企业级前端框架&#xff0c;以其完整的解决方案、强大的类型系统和丰富的生态系统&#xff0c;成为构建大型复杂应用的首选。不同于其他渐进式框架&#xff0c;An…...

Profibus DP主站转modbusTCP网关与dp从站通讯案例

Profibus DP主站转modbusTCP网关与dp从站通讯案例 在当前工业自动化的浪潮中&#xff0c;不同协议之间的通讯转换成为了提升生产效率和实现设备互联的关键。Profibus DP作为一种广泛应用的现场总线技术&#xff0c;与Modbus TCP的结合&#xff0c;为工业自动化系统的集成带来了…...

快速部署大模型 Openwebui + Ollama + deepSeek-R1模型

背景 本文主要快速部署一个带有web可交互界面的大模型的应用&#xff0c;主要用于开发测试节点&#xff0c;其中涉及到的三个组件为 open-webui Ollama deepSeek开放平台 首先 Ollama 是一个开源的本地化大模型部署工具,提供与OpenAI兼容的Api接口&#xff0c;可以快速的运…...

Ethan独立开发产品日报 | 2025-04-15

1. Whatting 专属于你的iPad日记 还在Goodnotes里使用PDF模板吗&#xff1f;是时候告别到处翻找PDF的日子了——来试试Whatting吧&#xff01;在Whatting中&#xff0c;你可以根据自己的喜好&#xff0c;灵活组合小部件&#xff0c;打造专属的日记布局。今天就免费开始吧&…...

H.265硬件视频编码器xk265代码阅读 - 帧内预测

源代码地址&#xff1a; https://github.com/openasic-org/xk265 帧内预测具体逻辑包含在代码xk265\rtl\rec\rec_intra\intra_pred.v 文件中。 module intra_pred() 看起来是每次计算某个4x4块的预测像素值。 以下代码用来算每个pred_angle的具体数值&#xff0c;每个mode_i对应…...

Arcgis经纬线标注设置(英文、刻度显示)

在arcgis软件中绘制地图边框&#xff0c;添加经纬度度时常常面临经纬度出现中文&#xff0c;如下图所示&#xff1a; 解决方法&#xff0c;设置一下Arcgis的语言 点击高级--确认 这样Arcgis就转为英文版了&#xff0c;此时在来看经纬线刻度的标注&#xff0c;自动变成英文...

MCP协议,.Net 使用示例

服务器端示例 基础服务器 以下是一个基础的 MCP 服务器示例&#xff0c;它使用标准输入输出&#xff08;stdio&#xff09;作为传输方式&#xff0c;并实现了一个简单的回显工具&#xff1a; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.H…...

Windows安装Ollama并指定安装路径(默认C盘)

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;http://blog.csdn.net/q258523454/article/details/147289192 一、下载Ollama 访问Ollama官网 打开浏览器&#xff0c;访问Ollama的官方网站&#xff1a;https://ollama.ai/。 在官网首页…...

微信小程序中大型项目开发实战指南

&#x1f310;从架构设计到性能优化&#xff1a;微信小程序中大型项目开发实战指南 本文将深入探讨微信小程序在中大型项目开发中的架构设计、组件化方案、状态管理、性能优化策略、网络请求封装等核心内容&#xff0c;帮助你构建高质量、可维护、易扩展的小程序工程。 &#x…...

读《思考的框架有感》

书名 &#xff1a;《思考的框架》一沙恩.帕里什 汉隆剃刀定律目前已经难以溯源。它指的是&#xff0c;能解释为愚蠢的&#xff0c;就不要解释为恶意。在复杂的世界中&#xff0c;使用这一模型有助于我们避免妄想和偏执。如果我们拒绝假定一切糟糕的结果都是坏人的错&#xf…...