Kubernetes集群Pod资源调度策略概念
1.pod调度概述
在默认情况下,一个pod在那个node节点上,是由scheduler组件采用响应的算法计算出来的,这个过程不受人工控制,但在实际使用中,这并不满足需求,有很多情况下,我们想控制某些pod到某些node节点上运行,这就需要使用pod的调度策略
k8s的四种调度策略:
- 自动调度:运行在哪个node节点上完全由scheduler经过一系列算法计算得出
- 定向调度:NodeName、NodeSelector
- NodeName:根据node的名称运行在指定的node节点
- NodeSelector:根据node节点上的标签,关联标签选择器,最终决定运行在哪个node节点
- 亲和性调度:NodeAffinity、PodAffinity、PodAntiAffinity
- pod可以亲和度选择在哪个node上运行,也可以通过反亲和度,不在哪个node上运行
- 污点(容忍)调度:Taints、Toleration
- node节点可以定义污点策略,配置了污点,表示不允许pod在当前node上运行
- pod可以定义Toleration容忍策略,即配了容忍的pod可以在配了污点的node上运行