当使用descheduler驱除Pods的时候,需要注意以下几点:

关键性 Pod 不会被驱逐,比如 priorityClassName 设置为 system-cluster-critical 或 system-node-critical 的 Pod
不属于 RS、Deployment 或 Job 管理的 Pods 不会被驱逐
DaemonSet 创建的 Pods 不会被驱逐
使用 LocalStorage 的 Pod 不会被驱逐,除非设置 evictLocalStoragePods: true
具有 PVC 的 Pods 不会被驱逐,除非设置 ignorePvcPods: true
在 LowNodeUtilization 和 RemovePodsViolatingInterPodAntiAffinity 策略下,Pods 按优先级从低到高进行驱逐,如果优先级相同,Besteffort 类型的 Pod 要先于 Burstable 和 Guaranteed 类型被驱逐
annotations 中带有 descheduler.alpha.kubernetes.io/evict 字段的 Pod 都可以被驱逐,该注释用于覆盖阻止驱逐的检查,用户可以选择驱逐哪个Pods
如果 Pods 驱逐失败,可以设置 --v=4 从 descheduler 日志中查找原因,如果驱逐违反 PDB 约束,则不会驱逐这类 Pods

https://mp.weixin.qq.com/s/oLtImMIE1FKROBzQboTasw

posted on 2022-03-21 09:15  heidsoft  阅读(119)  评论(0编辑  收藏  举报