Scheduling pods using a scheduler profile

You can configure OKD to use a scheduling profile to schedule pods onto nodes within the cluster.

About scheduler profiles

You can specify a scheduler profile to control how pods are scheduled onto nodes.

The following scheduler profiles are available:

LowNodeUtilization

This profile attempts to spread pods evenly across nodes to get low resource usage per node. This profile provides the default scheduler behavior.

HighNodeUtilization

This profile attempts to place as many pods as possible on to as few nodes as possible. This minimizes node count and has high resource usage per node.

NoScoring

This is a low-latency profile that strives for the quickest scheduling cycle by disabling all score plugins. This might sacrifice better scheduling decisions for faster ones.

Configuring a scheduler profile

You can configure the scheduler to use a scheduler profile.

Prerequisites

  • Access to the cluster as a user with the cluster-admin role.

Procedure

  1. Edit the Scheduler object:

    1. $ oc edit scheduler cluster
  2. Specify the profile to use in the spec.profile field:

    1. apiVersion: config.openshift.io/v1
    2. kind: Scheduler
    3. metadata:
    4. ...
    5. name: cluster
    6. resourceVersion: "601"
    7. selfLink: /apis/config.openshift.io/v1/schedulers/cluster
    8. uid: b351d6d0-d06f-4a99-a26b-87af62e79f59
    9. spec:
    10. mastersSchedulable: false
    11. profile: HighNodeUtilization (1)
    1Set to LowNodeUtilization, HighNodeUtilization, or NoScoring.
  3. Save the file to apply the changes.