节点污点管理¶
污点 (Taint) 能够使节点排斥某一类 Pod,避免 Pod 被调度到该节点上。 每个节点上可以应用一个或多个污点,不能容忍这些污点的 Pod 则不会被调度该节点上。
注意事项¶
- 当前操作用户应具备 NS Editor 角色授权或其他更高权限。
- 为节点添加污点之后,只有能容忍该污点的 Pod 才能被调度到该节点。
操作步骤¶
-
在 集群列表 页找到目标集群,点击集群名称,进入 集群概览 页面。
-
在左侧导航栏,点击 节点管理 ,找到需要修改污点的节点,点击右侧的 ┇ 操作图标并点击 修改污点 按钮。
-
在弹框内输入污点的键值信息,选择污点效果,点击 确定 。
点击 ➕ 添加 可以为节点添加多个污点,点击污点效果右侧的 X 可以删除污点。
目前支持三种污点效果:
NoSchedule
:新的 Pod 不会被调度到带有此污点的节点上,除非新的 Pod 具有相匹配的容忍度。当前正在节点上运行的 Pod 不会 被驱逐。NoExecute
:这会影响已在节点上运行的 Pod:- 如果 Pod 不能容忍此污点,会马上被驱逐。
- 如果 Pod 能够容忍此污点,但是在容忍度定义中没有指定
tolerationSeconds
,则 Pod 还会一直在这个节点上运行。 - 如果 Pod 能够容忍此污点而且指定了
tolerationSeconds
,则 Pod 还能在这个节点上继续运行指定的时长。这段时间过去后,再从节点上驱除这些 Pod。
PreferNoSchedule
:这是“软性”的NoSchedule
。控制平面将**尝试**避免将不容忍此污点的 Pod 调度到节点上,但不能保证完全避免。所以要尽量避免使用此污点。
有关污点的更多详情,请参阅 Kubernetes 官方文档:污点和容忍度。