×

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

Enabling a scheduler profile is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/.

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:

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

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