在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运行才有意义。
(•̀ᴗ•́)و ̑̑