【Kubernetes】云原生小技巧 17 之 kubectl cordon 命令

当我们需要维护或升级节点时,如何避免新工作负载被调度到该节点呢?kubectl cordon 命令可以将 Kubernetes 节点标记为不可调度状态,阻止新 Pod 被分配到该节点,但已运行的 Pod 不会受到影响。下面我们一起来看看如何使用吧!

目录

1、kubectl cordon 命令使用场景

2、kubectl cordon/uncordon 命令的基本用法

3、举例使用 kubectl cordon/uncordon 命令


1、kubectl cordon 命令使用场景

  • 节点维护:在进行节点升级或维护之前,确保不再有新的 Pod 在该节点上运行

  • 节点故障处理:在确认节点异常但还在运行时,可先执行 cordon 操作,将新 Pod 阻止调度到该节点上,等到问题解决后再 uncordon 重新允许调度

  • 集群资源管理:在某些情况下,可以为了优化资源使用,将某些节点设置为不可调度

2、kubectl cordon/uncordon 命令的基本用法

# 标记节点为不可调度
kubectl cordon <nodename>
# 恢复节点可调度
kubectl uncordon <nodename>

3、举例使用 kubectl cordon/uncordon 命令

  • 假设要维护 node1 节点,步骤如下

# 标记 node1 节点为不可调度
kubectl cordon node1

# 查看 node1 节点状态,STATUS 列显示 SchedulingDisabled(不可调度)
kubectl get nodes | grep node1

# 排空节点(kubectl drain 命令下期介绍)
# --ignore-daemonsets:不驱逐由 DaemonSet 管理的 Pod
# --delete-emptydir-data:若 Pod 使用 emptyDir 卷将强制删除
kubectl drain node1 --ignore-daemonsets --delete-emptydir-data

# 维护完成后恢复节点可调度
kubectl uncordon node1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值