0
点赞
收藏
分享

微信扫一扫

`k8s-node01` 上的两个污点(Taints)

要删除节点 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)对应多个不同效果(NoScheduleNoExecute)的污点。
  • 每个污点由 key:effect 唯一标识,因此需要分别删除。

📌 验证是否删除成功

执行以下命令查看节点剩余污点:

kubectl get node k8s-node01 -o custom-columns=TAINTS:.spec.taints

如果输出为空,则表示所有污点已成功删除。

⚠️ 注意事项

  1. 权限要求:需要具有对节点的操作权限(如 editadmin 角色)。
  2. 影响范围
    • 删除 NoSchedule:允许新 Pod 调度到该节点。
    • 删除 NoExecute:停止驱逐已运行在该节点上的 Pod。
  3. 谨慎操作:如果这些污点用于维护集群稳定性(如隔离故障节点),请确保删除后不会引发意外调度或负载问题。

🚫 批量删除所有同名污点(可选)

如果希望一次性删除所有 node.kubernetes.io/unreachable 相关的污点(无论效果),可以使用通配符:

kubectl taint node k8s-node01 node.kubernetes.io/unreachable -

此命令会删除所有匹配该键的污点(包括 NoScheduleNoExecute)。

举报

相关推荐

0 条评论