k8s 详解 pod 调度 亲和性 反亲和性 容忍
k8s 详解 pod 调度 亲和性 反亲和性 容忍四类pod调度,去往哪个node自动调度定向调度 nodeName nodeSelector声明去哪个node标签选择器,亲和性调度,跟谁关系好 node亲和性 pod 反亲和性污点容忍性调度污点 : node1说我有污点,你们别来了容忍: pods说,没关系,我容忍你的污点,我就来定向调度nodeName 和con..
申请创建一个pod,访问apiSever,pod到底会在哪个node上面运行呢?
schduler 组件 负责完成该工作
四类pod调度,去往哪个node
自动调度
定向调度 nodeName nodeSelector
声明去哪个node
标签选择器,
亲和性调度,跟谁关系好 node亲和性 pod 反亲和性
污点容忍性调度
污点 : node1说我有污点,你们别来了
容忍: pods说,没关系,我容忍你的污点,我就来
定向调度
nodeName 和container平级,是pod 的属性'
'
强制调度,指定的node不存在怎么办,pod 运行失败呗
亲和性调度(affinity)
就是一种偏好
强制调度会出现问题,如果指定的节点(node)在集群中不存在,pod将无法运行
亲和性: 优先选择满足条件的 退而求其次,不是那么死板,那么刻板
nodeAffiny node 亲和性
podAffinty pod亲和性
podAntiAffinty pod 反亲和性
偏好谁呢? 想和谁在一起
讨厌和谁在一起,远离谁
依赖较强的应用-尽可能靠近
还有打散分布在各个node上面
存在key为nodeenv的节点,
exists doesnotexists,in ,not in,gt lt
key是nodeenv,value是xxx或者yyy
亲和性设置,硬设置 key必须是nodeenv,value是数组中的一个
有满足条件的节点,才可以成功调度
failedScheduling 调度失败 没有节点满足匹配规则
查看pod 所在的节点,在node1上面
软限制,preferr优先调度满足条件的
Pod亲和性
参照当前运行的pod,进行pod的调度
硬host和软限制
hostname 相同节点
os 相同操作系统
参照pod
找不到了,运行失败
hostname如果找到了,放到同一个node节点上
taints 污点
反向亲和性-远离参照pod 所在的node/os
node的角度,是否让pod调度过来
preferNoSchdule
NoSchdule
NoExecute
node1加上污点
describe node 可以查询设置的污点
为什么创建pod 一直被调度到slave node,从来没有被调度到master上面?
master默认有污点的,不允许有pod 调度过去
容忍
就想把pod 调度到一个打了污点的node上,能不能做到?
人家都说了你不要来,pod 说我偏要去,死不要脸 舔狗 笑死 哈哈哈
拒绝我 ,pod没关系 我不在乎
更多推荐
所有评论(0)