K8S之taint\cordon\uncordon\drain使用案例——筑梦之路

131 篇文章 7 订阅
115 篇文章 3 订阅
本文介绍了在Kubernetes集群中对节点进行管理的操作,包括cordon(标记节点不可调度)、uncordon(解除封锁)、taint(设置和移除污点)以及drain(驱逐节点上的pod)。这些操作对于节点的维护和资源调度至关重要,例如在进行节点更新或维护时,可以先cordon节点,避免新pod调度到该节点,然后使用drain来安全地迁移已有pod到其他节点。
摘要由CSDN通过智能技术生成
作用介绍:

taint: 污点(查看污点、设置污点、取消污点)
cordon: 封锁;标记节点不可调度
uncordon: 标记节点可以调度;
drain: 驱逐节点上的pod


如果一个node被标记为cordon,新创建的pod不会被调度到此node上,已经调度上去的不会被移走,coedon用于节点的维护,当不希望再节点分配pod,那么可以使用coedon把节点标记为不可调度


如果一个节点被设置为drain,则此节点不再被调度pod,且此节点上已经运行的pod会被驱逐(evicted)到其他节点

drain包含两种状态:cordon不可被调度,evicted驱逐当前节点所以pod


实验环境说明:

192.168.1.21   master
192.168.1.22   node
192.168.1.23   node


1.标记节点不可调度

kubectl  cordon 192.168.1.22

kubectl get node

2.解除节点的封锁uncordon

kubectl uncordon 192.168.1.22

kubectl get node

3.给节点打上污点

kubectl taint node 192.168.1.23 node-role.kubernetes.io/master:NoSchedule

kubectl describe node 192.168.1.23 | grep Taint

4.去掉节点的污点

kubectl taint node 192.168.210.51 node-role.kubernetes.io/master:NoSchedule-

kubectl describe node 192.168.1.23 | grep Taint

5.驱逐节点上的pod

kubectl drain 192.168.1.23 --ignore-daemonsets --delete-local-data --force

kubectl get pod -A -o wide | grep 192.168.1.23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值