3.10.5. 按命名空间过滤 pod
您可以根据其命名空间来配置 pod 是否被视为驱除。只有 descheduler 策略支持命名空间过滤:
-
PodLifeTime
-
RemovePodsHavingTooManyRestarts
-
RemovePodsViolatingInterPodAntiAffinity
-
RemovePodsViolatingNodeAffinity
-
RemovePodsViolatingNodeTaints
您可以使用 IncludeNamespaces
参数指定应运行 descheduler 策略的命名空间,或使用 ExcludeNamespaces
参数指定不应运行 descheduler 策略的命名空间。
先决条件
- 必须具有集群管理员权限。
流程
编辑
KubeDescheduler
对象:$ oc edit kubedeschedulers.operator.openshift.io cluster -n openshift-kube-descheduler-operator
在一个或多个策略中添加
IncludeNamespaces
或ExcludeNamespaces
参数:apiVersion: operator.openshift.io/v1beta1 kind: KubeDescheduler metadata: ... spec: deschedulingIntervalSeconds: 3600 strategies: - name: "RemovePodsHavingTooManyRestarts" params: - name: "PodRestartThreshold" value: "10" - name: "IncludingInitContainers" value: "false" - name: "IncludeNamespaces" 1 value: "my-project" 2 - name: "PodLifeTime" params: - name: "MaxPodLifeTimeSeconds" value: "86400" - name: "ExcludeNamespaces" 3 value: "my-other-project" 4
- 保存文件以使改变生效。