Skip to content

节点污点管理

污点 (Taint) 能够使节点排斥某一类 Pod,避免 Pod 被调度到该节点上。 每个节点上可以应用一个或多个污点,不能容忍这些污点的 Pod 则不会被调度该节点上。

注意事项

  1. 当前操作用户应具备 NS Editor 角色授权或其他更高权限。
  2. 为节点添加污点之后,只有能容忍该污点的 Pod 才能被调度到该节点。

操作步骤

  1. 集群列表 页找到目标集群,点击集群名称,进入 集群概览 页面。

    点击集群名称

  2. 在左侧导航栏,点击 节点管理 ,找到需要修改污点的节点,点击右侧的 操作图标并点击 修改污点 按钮。

    修改污点

  3. 在弹框内输入污点的键值信息,选择污点效果,点击 确定

    点击 ➕ 添加 可以为节点添加多个污点,点击污点效果右侧的 X 可以删除污点。

    目前支持三种污点效果:

    • NoSchedule:新的 Pod 不会被调度到带有此污点的节点上,除非新的 Pod 具有相匹配的容忍度。当前正在节点上运行的 Pod 不会 被驱逐。
    • NoExecute:这会影响已在节点上运行的 Pod:
      • 如果 Pod 不能容忍此污点,会马上被驱逐。
      • 如果 Pod 能够容忍此污点,但是在容忍度定义中没有指定 tolerationSeconds,则 Pod 还会一直在这个节点上运行。
      • 如果 Pod 能够容忍此污点而且指定了 tolerationSeconds,则 Pod 还能在这个节点上继续运行指定的时长。这段时间过去后,再从节点上驱除这些 Pod。
    • PreferNoSchedule:这是“软性”的 NoSchedule。控制平面将**尝试**避免将不容忍此污点的 Pod 调度到节点上,但不能保证完全避免。所以要尽量避免使用此污点。

    修改污点

有关污点的更多详情,请参阅 Kubernetes 官方文档:污点和容忍度