Kubernetes集群Worker节点重置重加入后处于Ready,SchedulingDisabled状态如何处理?
这问题我熟!你看到的Ready,SchedulingDisabled状态,本质是因为之前的kubectl drain操作给节点打上了不可调度标记——哪怕你重置Worker节点重新加入集群,这个标记是存在Master节点的etcd存储里的,所以节点回归后依然会保持这个状态。
解决步骤很简单,分三步来:
确认节点的不可调度状态
先执行命令查看节点的详细状态,确认标记存在:kubectl describe node ubuntu1在输出里找这两个关键信息:
- 检查
Spec部分的Unschedulable: true - 检查
Taints部分是否有node.kubernetes.io/unschedulable:NoSchedule
- 检查
解除节点的不可调度限制
Kubernetes提供了专门的命令来移除这个标记,就是uncordon:# 对ubuntu1执行 kubectl uncordon ubuntu1 # 对ubuntu2执行 kubectl uncordon ubuntu2这个命令会同时清除节点的
spec.unschedulable属性和对应的unschedulable污点,让节点重新开放调度权限。验证结果
再次执行节点查看命令:kubectl get nodes正常情况下,ubuntu1和ubuntu2的状态会变成
Ready,SchedulingDisabled后缀会消失。
如果以上步骤没生效?
偶尔会碰到uncordon没完全清除污点的情况,这时候可以手动移除污点:
kubectl taint nodes ubuntu1 node.kubernetes.io/unschedulable- kubectl taint nodes ubuntu2 node.kubernetes.io/unschedulable-
(命令末尾的-是移除对应污点的语法,别漏了)
内容的提问来源于stack exchange,提问作者yasin lachini
相关产品推荐
相关产品推荐

