定向调度
设置哪个node就调度到哪个node

node2


如果node不存在,pod处于等待状态(pending)


标签同理

修改为”abc”(即不存在的标签)
调度失败


亲和性调度
Affinity主要分为三类:
· nodeAffinity(node亲和性): 以node为目标,解决pod可以调度到哪些node的问题
· podAffinity(pod亲和性) : 以pod为目标,解决pod可以和哪些已存在的pod部署在同一个拓扑域中的问题
· podAntiAffinity(pod反亲和性) : 以pod为目标,解决pod不能和哪些已存在pod部署在同一个拓扑域中的问题
设置requiredDuringSchedulingIgnoredDuringExecution: # 硬限制
设置匹配标签的key为nodeenv,且value是”xxx”或”yyy”的节点

Pod创建失败

查看详细信息
将xxx更换为pro(node1的标签),成功调度到node1

污点

准备节点node1,暂时停止node2节点
为node1设置PreferNoSchedule污点(低级),创建pod1正常运行

将node2设置为NoSchedule(中级),创建pod2
发现pod1正常运行,pod2停止状态

将node1设置为NoExecute(高级),创建pod3
三个pod全部停止
容忍
**
先创建一个普通pod

之前为node1设置了NoExecute,因此处于pending状态

添加容忍
Pod正常运行

作于2024年10月11日