62 lines
1.2 KiB
Markdown
62 lines
1.2 KiB
Markdown
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的节点
|
||
|
||
|