要删除节点 k8s-node01 上的两个污点(Taints),需分别针对每个污点的效果(Effect)执行以下命令:
✅ 步骤说明
1. 删除 NoSchedule 效果的污点
kubectl taint node k8s-node01 node.kubernetes.io/unreachable:NoSchedule -
- -表示删除该污点。
- 必须完整指定 key:effect组合以精确匹配目标污点。
2. 删除 NoExecute 效果的污点
kubectl taint node k8s-node01 node.kubernetes.io/unreachable:NoExecute -
🔍 为什么需要分两次执行?
- Kubernetes 允许同一密钥(node.kubernetes.io/unreachable)对应多个不同效果(NoSchedule和NoExecute)的污点。
- 每个污点由 key:effect唯一标识,因此需要分别删除。
📌 验证是否删除成功
执行以下命令查看节点剩余污点:
kubectl get node k8s-node01 -o custom-columns=TAINTS:.spec.taints
如果输出为空,则表示所有污点已成功删除。
⚠️ 注意事项
- 权限要求:需要具有对节点的操作权限(如 edit或admin角色)。
- 影响范围:
- 删除 NoSchedule:允许新 Pod 调度到该节点。
- 删除 NoExecute:停止驱逐已运行在该节点上的 Pod。
 
- 删除 
- 谨慎操作:如果这些污点用于维护集群稳定性(如隔离故障节点),请确保删除后不会引发意外调度或负载问题。
🚫 批量删除所有同名污点(可选)
如果希望一次性删除所有 node.kubernetes.io/unreachable 相关的污点(无论效果),可以使用通配符:
kubectl taint node k8s-node01 node.kubernetes.io/unreachable -
此命令会删除所有匹配该键的污点(包括 NoSchedule 和 NoExecute)。










