Ref: https://issues.redhat.com/browse/WRKLDS-286 Enable a profile in the Descheduler to allow LowNodeUtilization to run without PodLifetime evicting Running pods every 24h
Verified with build below by setting profile DevPreviewLongLifecycle and i do not see pod getting evicted after 24 hours. Below pod has been running for more than 24 hours. [knarra@knarra ~]$ oc get pods -n knarra NAME READY STATUS RESTARTS AGE hello-1-deploy 0/1 Completed 0 26h hello-1-xrlm5 1/1 Running 0 26h [knarra@knarra ~]$ oc get csv -n openshift-kube-descheduler-operator NAME DISPLAY VERSION REPLACES PHASE clusterkubedescheduleroperator.4.8.0-202105141634.p0 Kube Descheduler Operator 4.8.0-202105141634.p0 Succeeded [knarra@knarra ~]$ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.0-0.nightly-2021-05-15-141455 True False 26h Cluster version is 4.8.0-0.nightly-2021-05-15-141455 spec: deschedulingIntervalSeconds: 60 logLevel: Normal managementState: Managed operatorLogLevel: Normal profiles: - AffinityAndTaints - TopologyAndDuplicates - DevPreviewLongLifecycle [knarra@knarra ~]$ oc get configmap cluster -o yaml -n openshift-kube-descheduler-operator apiVersion: v1 data: policy.yaml: | apiVersion: descheduler/v1alpha1 ignorePvcPods: true kind: DeschedulerPolicy strategies: LowNodeUtilization: enabled: true params: includeSoftConstraints: false namespaces: null nodeResourceUtilizationThresholds: targetThresholds: cpu: 50 memory: 50 pods: 50 thresholds: cpu: 20 memory: 20 pods: 20 thresholdPriority: null thresholdPriorityClassName: "" RemoveDuplicates: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null thresholdPriority: null thresholdPriorityClassName: "" RemovePodsHavingTooManyRestarts: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null podsHavingTooManyRestarts: includingInitContainers: true podRestartThreshold: 100 thresholdPriority: null thresholdPriorityClassName: "" RemovePodsViolatingInterPodAntiAffinity: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null thresholdPriority: null thresholdPriorityClassName: "" RemovePodsViolatingNodeAffinity: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null nodeAffinityType: - requiredDuringSchedulingIgnoredDuringExecution thresholdPriority: null thresholdPriorityClassName: "" RemovePodsViolatingNodeTaints: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null thresholdPriority: null thresholdPriorityClassName: "" RemovePodsViolatingTopologySpreadConstraint: enabled: true params: includeSoftConstraints: false namespaces: exclude: - kube-system - openshift-apiserver - openshift-apiserver-operator - openshift-authentication - openshift-authentication-operator - openshift-cloud-credential-operator - openshift-cluster-csi-drivers - openshift-cluster-machine-approver - openshift-cluster-node-tuning-operator - openshift-cluster-samples-operator - openshift-cluster-storage-operator - openshift-cluster-version - openshift-config - openshift-config-managed - openshift-config-operator - openshift-console - openshift-console-operator - openshift-console-user-settings - openshift-controller-manager - openshift-controller-manager-operator - openshift-dns - openshift-dns-operator - openshift-etcd - openshift-etcd-operator - openshift-host-network - openshift-image-registry - openshift-infra - openshift-ingress - openshift-ingress-canary - openshift-ingress-operator - openshift-insights - openshift-kni-infra - openshift-kube-apiserver - openshift-kube-apiserver-operator - openshift-kube-controller-manager - openshift-kube-controller-manager-operator - openshift-kube-descheduler-operator - openshift-kube-scheduler - openshift-kube-scheduler-operator - openshift-kube-storage-version-migrator - openshift-kube-storage-version-migrator-operator - openshift-kubevirt-infra - openshift-machine-api - openshift-machine-config-operator - openshift-marketplace - openshift-monitoring - openshift-multus - openshift-network-diagnostics - openshift-network-operator - openshift-node - openshift-oauth-apiserver - openshift-openstack-infra - openshift-operator-lifecycle-manager - openshift-operators - openshift-ovirt-infra - openshift-sdn - openshift-service-ca - openshift-service-ca-operator - openshift-user-workload-monitoring - openshift-vsphere-infra include: null thresholdPriority: null thresholdPriorityClassName: "" kind: ConfigMap metadata: creationTimestamp: "2021-05-17T06:22:26Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:policy.yaml: {} f:metadata: f:ownerReferences: .: {} k:{"uid":"5cdb7d97-3e00-4efc-97de-58b2dfb6f6a9"}: .: {} f:apiVersion: {} f:kind: {} f:name: {} f:uid: {} manager: cluster-kube-descheduler-operator operation: Update time: "2021-05-17T06:22:26Z" name: cluster namespace: openshift-kube-descheduler-operator ownerReferences: - apiVersion: v1 kind: KubeDescheduler name: cluster uid: 5cdb7d97-3e00-4efc-97de-58b2dfb6f6a9 resourceVersion: "47630" uid: 37f46758-68c1-41f2-9aa1-b24626e14fc2 Also do not see the podlifetime.go in descheduler cluster pod logs as well. [knarra@knarra ~]$ oc logs cluster-b9ff6bc96-sxb9n -n openshift-kube-descheduler-operator | grep "pod_lifetime.go" [knarra@knarra ~]$ Based on the above moving bug to verified state.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:2438