k8s 集群调度
了解k8s 调度策略,人为干预调度过程
k8s 调度器
概念
类似CPU调度
调度过程
调度分为预选和优选
下面以一些预选的算法
1、自定义调度器调度
2、亲和性调度
节点亲和性
更倾向于于哪个node
软策略值得是想去,但实在不行不去也可以
硬策略指定是必须去
硬策略实现方案
规定了一些硬性的条件,对应node必须满足条件才可以
下面列举了一些基本的条件
软策略实现方案
软策略和硬策略是可以放在一起的,先满足硬策略再满足软策略
pod亲和性
更倾向于和哪个pod到同一个node
软策略值得是想去,但实在不行不去也可以
硬策略指定是必须去
pod亲和性软策略
pod亲和性硬策略
3、Taint (污点)和 Toleration(容忍)调度
污点(Taint)
相互排除的关系,并支持上线驱除
键值对的数据
pod 不会分配在master 节点,是因为k8s 自动会打一个污点,不在master 节点进行部署
如何设置、查看、删除 污点
容忍 (Toleration)
对污点设置的的容忍,设置了容忍后,可能会部署到该节点上
实现方案
需要注意的点
-
当不指定key时,表示容忍所有的污点
-
当不指定effect的值时,表示容忍所有的污点作用
-
有多个master 存在时,防止资源浪费,可以如下设置
4、固定节点调度
指定node的名称
指定标签