在Kubernetes
中,支持给pod
配置更高的优先级属性,使pod的重要程度提升,从而降低被驱逐的可能。特别地,可以用在一些Kubernetes
关键组件的pod
上,如metrics-server
、DNS
等服务,毕竟这些服务一旦出现异常,可能会导致Kubernetes
部分功能不可用。
而配置pod
的优先级,使用的是PriorityClassName
资源,模版如下:
1 | apiVersion: schedule.k8s.io/v1 |
在pod
中指定PriorityClassName
资源,从而配置pod
的优先级属性
1 | apiVersion: v1 |
默认地,Kubernetes
初始会有两个PriorityClassName资源
system-cluster-critical
用于系统关键的pod
,Kubernetes
系统运行依赖这些pod
。system-node-critical:
用于节点关键的pod
,节点运行依赖这些pod
,优先级会比system-cluster-critical
更高,因为Kubernetes
系统的正常运行首要条件是节点正常,即只有在节点关键pod
正常运行,系统关键pod
运行才有意义。
(•̀ᴗ•́)و ̑̑