目录
一、前言
在生产环境使用中,有时会遇到一些使用场景需求,当集群中存在多种节点类型的情况,如master节点、ssd硬盘类型的node节点,或者是高计算性能的node节点,这个时候,只想某些节点上只运行指定类型的pod,不想让其它pod调度到这些节点上,则可以使用节点污点(Taint)的方式,配合容忍度(Toleration),实现指定节点只运行特定类型的pod服务。
小结如下:
节点污点(Taint):使节点能够排斥特定的 Pod
容忍度(Toleration):应用于 Pod 上,允许Pod 调度到带有与之匹配的污点的节点上。
污点和容忍度(Toleration)相互配合,可以用来避免 Pod 被分配到不合适的节点上。 每个节点上都可以应用一个或多个污点,这表示对于那些不能容忍这些污点的 Pod,是不会被该节点接受的。
二、节点设置taints
1、设置taint
可以使用命令 kubectl taint 给节点增加一个污点
kubectl taint node [node] key=value[effect]
# [effect] 可取值:
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod
Tips:
当节点维护并驱逐时,节点控制器会在相应的节点添加带有 NoExecute 效应的污点,实现基于污点的驱逐功能,一般来

本文详细介绍了如何在Kubernetes中通过设置节点污点(Taints)和配置容忍度(Tolerations)来管理Pod的调度策略,包括设置、查看、删除Taints,以及如何根据需求配置Toleration以确保Pod正确分配到指定节点。
最低0.47元/天 解锁文章
1039

被折叠的 条评论
为什么被折叠?



