申请创建一个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没关系 我不在乎

         

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐