k8s 常用调度策略使用详解

一、前言

通过之前的学习,我们了解到k8s集群中最小工作单位是pod,对于k8s集群来说,一个pod的完整生命周期是由一系列调度策略来控制,这些调度策略具体是怎么工作的呢?本文将详细讨论下这个问题。

二、k8s调度策略简介

默认情况下,k8s集群中某个Pod在哪个Node节点运行,是由Scheduler组件采用相应的算法计算出来的。这个过程是不受人工控制的,从下图中通过Scheduler的位置也可以看出来;

k8s 常用调度策略使用详解_第1张图片

但在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则;

三、k8s 四大调度策略

k8s提供了常用的4大调度规则,如下:

  • 自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出;
  • 定向调度:NodeName、NodeSelector;
  • 亲和性调度:NodeAffinity、PodAffinity、PodAntiAffinity;
  • 污点(容忍)调度:Taints、Toleration;

接下来,将结合实际操作对每种调度策略做详细的说明;

四、定向调度

你可能感兴趣的:(linux与容器实战,k8s,常用调度策略,k8s,调度策略总结,k8s,常用调度,k8s,常用调度策略总结,k8s,调度策略)