1、基本介绍
nodeSelector和nodeAffinity: Pod调度到某些节点上
Taint污点:节点不做普通分配调度,是节点属性
2、场景
* 专用节点
* 配置特定硬件节点(如只分配给有ssd的节点)
* 基于Taint驱逐
3、具体演示
(1)
kubectl describe node node1 | grep Taint # 查看节点的污点
* 污点值有三个值
** NoSchedule: 一定不被调度
** PreferNoSchdule:尽量不被调度
** NoExecute: 不会调度,并且还会驱逐Node已有Pod
查看某个节点的污点
(2)
为节点添加污点
kubectl taint node [node] key=value:上面写的污点的三个值
删除污点
kubectl taint node 节点名称 env_role:NoSchedule-
(3)污点的容忍(类似于软亲和性)
spec:
tolerations:
- key: "key"
operator: "Equal"
value: "value"
effect: "NoSchedule"
container:
- name: webdemo
image: nginx