1.2 KiB
1.2 KiB
1、先到先得,简单,公平 2、优先级策略(Priority),符合公司业务特点
PodPriority
优先级调度配置 1、创建PriorityClass 2、为各个pod配置上不同的priorityClassName
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: high
value: 1000
globalDefault: false
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: low
value: 10
globalDefault: false
为pod1配置上high,为pod2配置上low
...
spec:
priorityClassName: high # 或者low
...
一些内置的优先级设置
内置的默认优先级
DefaultPriorityWhenNoDefaultClassExists=0
如果未设置优先级,那么默认优先级都为0
用户可配置的最大优先级限制
HighestUserDefinablePriority=10亿
系统级别优先级
SystemCriticalPriority=20亿
内置系统级别优先级
system-cluster-critical
system-node-critical
抢占调度 1、优先选择打破pdb最少的节点(Pod Disruption Budget,Pod中断预算) 2、选择待抢占的pods中最大优先级最小的节点 3、选择待抢占的pod优先级加和最小的节点 4、接下来选择待抢占pod数量最小的节点 5、最后选择拥有最晚启动pod的节点