K8s中污点(Taint)详解及命令

2020-12-17 10:17:47 浏览数 (1)

Ⅰ、 污点 ( Taint ) 的组成

代码语言:javascript复制
使用kubectl taint命令可以给某个Node节点设置污点,Node被设置上污点之后就和Pod之间存在了一种相斥的关系,可以让Node拒绝Pod的调度执行,甚至将Node已经存在的Pod驱逐出去

每个污点的组成如下:

代码语言:javascript复制
key=value:effect

每个污点有一个 key 和 value 作为污点的标签,其中 value 可以为空,effect 描述污点的作用。

当前 taint effect 支持如下三个选项:

代码语言:javascript复制
NoSchedule :表示k8s将不会将Pod调度到具有该污点的Node上
PreferNoSchedule :表示k8s将尽量避免将Pod调度到具有该污点的Node上
NoExecute :表示k8s将不会将Pod调度到具有该污点的Node上,同时会将Node上已经存在的Pod驱逐出去

Ⅱ、污点的设置、查看和去除

设置污点

代码语言:javascript复制
kubectl taint nodes k8s-node2 check=yuanzhang:NoExecute

节点说明中,查找Taints字段

代码语言:javascript复制
kubectl describe nodes k8s-node2

去除污点

代码语言:javascript复制
kubectl taint nodes k8s-node2 check:NoExecute-
key

0 人点赞