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.

Scheduler profiles are an alternative to configuring a scheduler policy. Do not set both a scheduler policy and a scheduler profile. If both are set, the scheduler policy takes precedence.

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 plug-ins. This might sacrifice better scheduling decisions for faster ones.

Configuring a scheduler profile

You can configure the scheduler to use a scheduler profile.

Do not set both a scheduler policy and a scheduler profile. If both are set, the scheduler policy takes precedence.

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. policy:
    12. name: ""
    13. profile: HighNodeUtilization (1)
    1Set to LowNodeUtilization, HighNodeUtilization, or NoScoring.
  3. Save the file to apply the changes.