k8s 维护node与驱逐pod

2、k8s命令(pod相关(驱逐、强制删除)、让Master当Node用、修改nodeport端口范围、修改k8sDNS、运行nslookup容器) 驱逐pod相关 1、驱逐节点上的pod kubectl drain node02 --delete-local-data --ignore-daemonsets --force 2、将node置为SchedulingDisabled不可调度状态,后续的新创建pod容器时scheduler调度不会考虑该node,旧的pod容器不会受影响,仍可以对外提供正常服务。(特殊情况:pod容器如果跟node绑定的话,容器下次更新就不会回到原宿主机,该情况如何处理呢?可能设置成不可调度状态就不太合适。调度器 预调度策略 阅读详情

1.维护node节点

设置节点状态为不可调度状态,执行以下命令后,节点状态会多出一个SchedulingDisabled的状态,即新建的pod不会往该节点上调度,本身存在node中的pod保持正常运行

kubectl cordon k8s-node01

kubectl get node

2.驱逐pod

在node节点设置为不可调度状态后,就可以开始驱逐本节点上的pod了

kubectl drain k8s-node01 --ignore-daemonsets --delete-local-data

--delete-local-data:在驱逐节点之前,删除该节点上的 Pod 的本地数据。本地数据包括 Pod 的日志、镜像和其他本地数据。如果不添加此选项,则本地数据将保留在节点上,并且需要手动清理

--ignore-daemonsets:忽略 DaemonSet 类型的 Pod。DaemonSet 是一种在 Kubernetes 集群的每个节点上运行一个 Pod 的控制器。如果不添加此选项,则 kubectl drain 命令会尝试驱逐所有类型的 Pod,包括 DaemonSet 类型的 Pod。在某些情况下,DaemonSet 类型的 Pod 是必需的,因此应该使用此选项来忽略它们

驱逐pod的工作流程:

1.首先,Kubernetes 会将 Pod 标记为“删除中”,并阻止新的请求发送到该 Pod

2.然后,Kubernetes 会向 Pod 发送 SIGTERM 信号,触发优雅关闭。在容器中运行的进程可以捕获此信号并执行清理操作

3.如果在默认的 30 秒的优雅期内 Pod 没有关闭,则 Kubernetes 会发送 SIGKILL 信号来强制终止 Pod

如果实在驱逐不掉可以加上--force 参数

--force:强制驱逐节点上的所有 Pod。如果不添加此选项,则 kubectl drain 命令会等待所有 Pod 关闭或重新调度到其他节点上。如果某些 Pod 无法正常关闭或重新调度,则 kubectl drain 命令会一直等待,直到超时。使用 --force 选项可以强制终止所有 Pod 并立即驱逐节点。需要注意的是,这可能会导致数据丢失或其他不良影响,因此应该谨慎使用

在node节点驱逐完所有pod后,可以对该node节点升级硬件资源等操作

3.删除pod

若是在新加入工作节点,只想调度一部分pod到新节点上的情况下,需要使用删除pod的方法去实现

需要对所有旧的node节点都设置不可调度状态,在执行删除pod操作

kubectl cordon k8s-node02

kuebctl delete pod pod名称 -n 名称空间

此时被删除的pod就会调度到新的node节点上

删除pod的工作流程:

1.首先,Kubernetes 会将 Pod 标记为“删除中”,并阻止新的请求发送到该 Pod

2.然后,Kubernetes 会向 Pod 发送 SIGTERM 信号,触发优雅关闭。在容器中运行的进程可以捕获此信号并执行清理操作

3.如果在默认的 30 秒的优雅期内 Pod 没有关闭,则 Kubernetes 会发送 SIGKILL 信号来强制终止 Pod

也可以在delete命令中使用如下参数修改默认的优雅关闭时间--grace-period=30

调度完成后,恢复旧的node节点为可调度状态

kubectl uncordon k8s-node02

Kubernetes Pod的驱逐 阅读详情

相关推荐

k8s强制删除pod、svc、namespace(Terminating)驱逐pod,coredns

k8s强制删除pod、svc、namespace(Terminating)

qq_44637753的博客 7395

kubernetes-pod的驱逐策略

kubernetes提供了pod eviction,在某些情况下node出现NotReady,资源不足的时候,需要将node上面的pod驱逐至其他节点,用于保障业务的正常运行,但是驱逐的行为并不是“立即”执行,给了一段的缓冲时间,超过这个时间才会将pod驱逐。Kube-controller-manager会周期性的检查所有node的状态,当node处于NotReady状态一定时间后将node上面的pod进行驱逐。NotReady 状态node超过该时间后,执行驱逐,默认 5 min。

apple_56973763的博客 2344

Pod驱逐迁移和Node节点维护

环境说明: 主机名 操作系统版本 ip docker version kubelet version 配置 备注 master Centos 7.6.1810 172.27.9.131 Docker 18.09.6 V1.14.2 2C2G master主机 node01 Centos 7.6.1810 172.27.9.135 Docker 18.09.6 V1.14.2 2C2G node节点...

868

k8s驱逐篇(1)-k8s QoS与pod驱逐

Kubernetes会根据pod的QoS级别来决定pod的调度、抢占调度和驱逐优先级,而且pod的QoS级别也影响oomkiller对杀死进程的选择。

良凯尔的博客 4743

Kubernetes节点维护实战:从Cordon、Drain到Uncordon的完整操作流与避坑指南

本文详细介绍了Kubernetes节点维护的完整操作流程,包括Cordon、Drain和Uncordon命令的使用方法与实战技巧。通过实际案例和避坑指南,帮助运维人员安全高效地完成节点维护,避免业务中断。特别针对PDB阻拦、DaemonSet处理等常见问题提供了解决方案。

weixin_30736301的博客 246

【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路

节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的 Pod。Taint 和 Toleration 相互配合,可以用来避免 Pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 Pod,是不会被该节点接受的。如果将 toleration 应用于 Pod 上,则表示这些 Pod 可以(但不一定)被调度到具有匹配 taint 的节点上。

wyq2070857323的博客 2265

k8s之Pod驱逐迁移和Node节点维护

本篇是基于k8s-v1.18.0版本,参考https://cloud.tencent.com/developer/article/1552452。 一、环境说明 主机名 ip 系统版本 docker版本 master 192.168.148.124 CentOS 7.6.1810 19.03.9 node01 192.168.148.125 CentOS 7.6.1810 19.03.9 node02 192.168.148.126 CentOS 7.6.1810 19.03.

最美dee时光的博客 4473

kubernetes Pod驱逐机制

在kubernetes里,pod的驱逐机制分为kubelet驱逐(被动驱逐)和主动驱逐两种。 kubelet驱逐 在node节点的资源紧缺的条件下,kubelet为了保证node节点的稳定性,回触发主动驱逐pod的机制,流程如下 注意:流程图根据个人理解所画,如有错误之处,烦请指出。 如果kubelet无法通过节点级别的资源回收获取足够的资源,就会开始驱逐用户的Pod,kubelet会按照下面的...

energysober的博客 9949

Node节点禁止调度(平滑维护)方式- cordon,drain,delete

默认情况下,kubectl drain 会忽略那些不能杀死的系统类型的 pod。drain命令中需要添加三个参数:--force、--ignore-daemonsets、--delete-local-data。cordon、drain和delete三个命令都会使node停止被调度,后期创建的pod不会继续被调度到该节点上,但操作的暴力程度却不一样。通常情况下,如果要对K8S集群中的一台Node节点进行平滑维护,如升级或调整配置。(不可调度,临时从K8S集群隔离)(先不可调度,然后排干)

大叶子不小的博客 3290

k8s drain

你要全部清空节点命令✅ 是❌ 只是驱逐副本,不强删。

weixin_40548182的博客 70

Power Automate实战:用SharePoint REST API批量处理列表数据(附JSON解析技巧)

本文深入探讨了如何利用Power Automate调用SharePoint REST API实现列表数据的批量自动化处理。文章详细解析了API的协同工作原理、高效的数据获取与筛选技巧,并重点分享了JSON数据解析的核心难点与实战解决方案,旨在帮助企业用户构建稳定可靠的数据处理流程,提升运营效率。

coffee的博客 770

k8s Node节点维护

Kubernetes (K8s) 中对 Node 节点的维护是保证集群健康和性能的重要部分。Node 节点通常是 Kubernetes 工作负载的运行环境,负责运行 Pods。当需要对节点进行维护(如升级、修复问题、调整配置等)时,可能需要将该节点标记为不可用并迁移其上的工作负载。

u010674101的专栏 1544

R语言分段回归

1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方...

ChenQihome9的博客 1万+

k8s 下线node正确处理姿势 驱逐 node

注意: 默认情况下,kubectl drain将忽略节点上无法杀死的某些系统窗格;有关更多详细信息,请参阅kubectl drain文档。当kubectl drain成功返回时,表示所有pod(除了前一段中所述排除的那些)已被安全驱逐(尊重所需的正常终止期,并且不违反任何应用程序级别的中断SLO).然后通过关闭其物理机器来关闭节点是安全的,或者如果在云平台上运行,则删除其虚拟机。

LoveSummer 4742

Simulink Test Sequence实战:5步搞定复杂逻辑测试(附Excel模板)

本文详细介绍了如何利用Simulink Test Sequence模块高效完成复杂逻辑测试。通过对比传统Excel方法的不足,阐述了Test Sequence以流程图和自然语言描述测试场景的优势,并提供了从环境搭建、逻辑构建到与Test Manager集成、利用Excel模板进行数据驱动的完整5步实战指南,帮助工程师将复杂的状态机或逻辑流测试从繁琐的‘体力活’转变为高效的‘技术活’。

snow3的博客 251

ANSYS Maxwell:从RMxprt到3D轴向磁通电机的无缝建模指南

本文详细介绍了如何利用ANSYS RMxprt作为高效起点,快速构建3D轴向磁通电机的有限元分析模型。通过RMxprt内置模板输入关键参数并完成磁路法计算后,可一键生成包含几何、材料、绕组及边界条件的即用型Maxwell 3D模型,极大简化了复杂三维结构的建模流程,使工程师能专注于性能优化与仿真分析。

weixin_29281941的博客 556

Kubernetes维护

维护Node k8s集群运行一段时间后,有时需要对Node节点进行维护,例如进行内核或已安装软件的升级。 在进行维护之前需要禁止新的Pod调度到该节点上,同时要将该节点上的Pod驱逐到其他的Node上(DaemonSet除外)。 使用如下的命令: 1 kubectl drain 如果只是禁止新的Pod调度到该节点而不进行驱逐,使用如下的命令: 1 kubectl cordon 对Node维护完...

qq920006873的博客 422

Python结合海康威视工业相机SDK实现高效图像采集与处理

本文详细介绍了如何使用Python结合海康威视工业相机SDK实现高效的图像采集与处理。内容涵盖从环境搭建、SDK核心模块理解,到完整的图像采集流程拆解,包括设备枚举、参数设置、主动取流以及关键的像素格式转换。同时,文章深入探讨了触发模式、参数控制等高级应用,并提供了性能优化建议和可复用的相机操作类封装,帮助开发者快速构建稳定的机器视觉应用。

weixin_29043895的博客 350

Kubernetes WG Node Lifecycle 2025 年度报告解读:EvictionRequest 与节点维护的统一生命周期方案

WG Node Lifecycle(节点生命周期工作组)是 Kubernetes 社区于 2025 年成立的工作组,聚焦两大核心议题:**Pod Eviction(Pod 驱逐)** 与 **Node Maintenance(节点维护)**。本文以该工作组发布的 [2025 年度报告](https://link.gitcode.com/i/78768f3155d35fd2a57a70efb72f8

gitblog_00060的博客 8

人工智能在软件测试中的广泛应用领域

人工智能在软件测试中的应用领域涵盖了自动化测试、缺陷预测和缺陷检测、智能化测试报告生成等方面。以上提供的示例代码只是其中的一小部分,实际上,人工智能在软件测试中还有许多其他的应用。通过结合人工智能和软件测试,可以提高测试效率和质量,减少测试工作的人力成本,并帮助开发人员更好地理解和改进软件产品。人工智能(Artificial Intelligence,简称AI)在软件测试领域的应用越来越广泛。下面将介绍几个人工智能在软件测试中的主要应用领域,并提供一些相关的源代码示例。

FycPerformance的博客 463

第2.0章 机器人C++学习开篇(一):SLAM为什么使用C++语言及学习路线资料推荐

ROS(机器人操作系统):机器人领域的“操作系统”,提供节点通信、参数管理、工具链支持,是SLAM算法在机器人上部署的核心框架。PCL(点云库):处理三维点云数据的利器,包含滤波、分割、配准等算法,是激光SLAM的核心依赖。Eigen(矩阵运算库):高效的矩阵与线性代数运算库,SLAM中的位姿变换、优化求解都依赖它。Ceres/G2O(优化库):SLAM后端优化的“王牌”,Ceres擅长通用非线性优化,G2O则专为图优化设计,二者是BA( bundle adjustment)等算法的实现基础。

行知SLAM 1244

k8s集群节点维护

一、node节点维护流程 对k8s集群资源进行梳理,先确认集群资源是否允许进行该操作 若集群资源不足,可加入新的node节点之后再进行维护操作 确认无资源问题后进行pod驱逐:kubelet drain <node_name>( 检查对应节点状态是否处于SchedulingDisabled 检查node上是否无pod运行,切被驱逐的pod已经在其他节点运行正常 确认状态为SchedulingDisabled,且pod已经在其他节点运行正常后执行后续操作 关闭集群相关服务及docker服务 关机

weixin_43110668的博客 1887

RTA_OS基础功能讲解 2.6-资源锁和自旋锁

访问需要在任务和 ISR 之间共享的硬件或数据可能不可靠、不安全。这是因为当优先级较低的任务或 ISR 正在更新共享数据时,可能会发生任务或 ISR 抢占。这种情况被称为竞争条件,极难测试。访问共享数据的语句序列称为关键部分。要安全访问关键部分中引用的代码和数据,就需要执行互斥。换句话说,必须确保系统中没有其他任务或第 2 类 ISR 能够在关键部分期间抢占正在执行的任务。你可以将任务声明为非抢占式任务,这样就可以避免互斥问题。

本博客专注于嵌入式软件领域技术分享。 291

k8s node节点操作

让master生成join+tonken命令。Node节点执行kobeadm join命令。在master节点中强制驱逐Node中Pod。在Master节点中删除节点记录。设置Node为不可调用。

2502_92656182的博客 319

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

提升CKA认证成功率,CKA真题中的节点维护全攻略!

K8S集群运维过程中可能会有维护Node节点的需求,例如Node操作系统软件存在漏洞,需要对系统进行更新和维护。这里我们以K8S集群节点的操作系统进行更新操作为例。Kubernetescordondrain以及delete都可以实现 node 的停止调度,也就是后面再创建的 pod 不会继续被调度到该节点上,他们之间最大的区别是暴力程度不一样。

didiplus 767

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

k8s节点踢出重新加入集群

摘要:本文记录了Kubernetes集群节点(k8s-node02)的移除与重新加入过程。首先通过kubectl drain命令驱逐节点上的Pod,然后删除节点。在节点上执行kubeadm reset清理配置后,使用新生成的token通过kubeadm join重新加入集群。最终验证节点状态显示所有节点(包括重新加入的k8s-node02)均已恢复Ready状态。整个过程涉及master端节点管理操作和node端重置配置步骤,适用于v1.17.6版本的Kubernetes集群维护。

Black794的博客 470

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: k8s滚动更新
下一篇: k8s节点删除
Apex   Predator
博客等级 码龄6年 9371粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值