一、前言
通过之前的学习,我们了解到k8s集群中最小工作单位是pod,对于k8s集群来说,一个pod的完整生命周期是由一系列调度策略来控制,这些调度策略具体是怎么工作的呢?本文将详细讨论下这个问题。
二、k8s调度策略简介
默认情况下,k8s集群中某个Pod在哪个Node节点运行,是由Scheduler组件采用相应的算法计算出来的。这个过程是不受人工控制的,从下图中通过Scheduler的位置也可以看出来;

但在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则;
三、k8s 四大调度策略
k8s提供了常用的4大调度规则,如下:
- 自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出;
- 定向调度:NodeName、NodeSelector;
- 亲和性调度:NodeAffinity、PodAffinity、PodAntiAffinity;
- 污点(容忍)调度:Taints、Toleration;
接下来,将结合实际操作对每种调度策略做详细的说明;
</
本文详细探讨了k8s的四大调度策略:定向调度(NodeName、NodeSelector)、亲和性调度(NodeAffinity、PodAffinity、PodAntiAffinity)、污点调度和容忍调度。通过实例操作,解释了如何使用这些策略来控制Pod的调度位置,包括如何打标签、设置污点和容忍,以及各种调度策略的注意事项。
订阅专栏 解锁全文
3万+





