For the last few weeks, I’ve been working with the OpenShift Kube Descheduler and OpenShift Kube Descheduler Operator.
I posted some test-cases for the seven Descheduler Profiles to demonstrate how the Profiles operate under specific conditions. Note these are unsupported test cases.
The following examples are:
- AffinityAndTaints
- TopologyAndDuplicates
- LifecycleAndUtilization
- SoftTopologyAndDuplicates
- EvictPodsWithLocalStorage
- EvictPodsWithPVC
- DevPreviewLongLifecycle
Summary
I hope this helps you adopt the OpenShift Kube Descheduler Operator.
References
- Evicting pods using the descheduler
- Kubernetes: Pod Topology Spread Constraints Use topology spread constraints to control how Pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains. This can help to achieve high availability as well as efficient resource utilization.
- Kubernetes: Inter-pod affinity and anti-affinity Inter-pod affinity and anti-affinity allow you to constrain which nodes your Pods can be scheduled on based on the labels of Pods already running on that node, instead of the node labels.
- Kubernetes: Well-Known labels and taints
- Adding Labels to a Running Pod
- Label Selector for k8s.io
- Pod Affinity and AntiAffinity Examples
- Scheduling pods using a scheduler profile
- Kubernetes: Assigning Pods to Nodes
- OpenShift 3.11: Advanced Scheduling and Pod Affinity/Anti-affinity
- Kubernetes: Pod Lifecycle
- Base Profiles
- Descheduler User Guide
- Kubernetes: Scheduling Framework
- GitHub: openshift/cluster-kube-descheduler-operator