IBM Cloud Docs
Setting Kubernetes API priority and fairness

Setting Kubernetes API priority and fairness

Your Red Hat® OpenShift® on IBM Cloud® clusters have default settings in place to process simultaneous requests to the API server and prevent traffic overload. You can configure your own flow schema and priority levels for requests that are made to the API server of your clusters. For more information, see API priority and fairness in the Kubernetes documentation.

For example, you might have a user or namespace that runs your critical apps in prod. You can create a flow schema and priority so that your critical apps have a higher priority for the API server to fulfill their requests than other apps in the cluster.

Reviewing default flow schema and priority levels

Red Hat OpenShift on IBM Cloud sets certain default flow schema and priority levels in addition to the default settings from Kubernetes.

Default flow schema and priority levels
Flow schema Resources that requests come from Priority level
apiserver-health Kubernetes API server health resources Custom priority level for these resources.
calico-system-service-accounts Resources in the calico-system namespace that use a service account in the namespace Same priority as kube-system namespace service accounts.
ibm-admin Resources from IBM cluster administrators Exempts requests by cluster administrators from priority restrictions. This schema is available for Red Hat OpenShift version 4.9 and later.
ibm-system-service-accounts Resources in the ibm-system namespace that use a service account in the namespace Same priority as kube-system namespace service accounts
tigera-operator-service-accounts Resources in the tigera-operator namespace that use a service account in the namespace Same priority as kube-system namespace service accounts.

You can create your own flow schema and priorities, but don't modify the default settings. Unexpected results might occur in your cluster when you modify API request priorities.

Follow the steps to review the flow schemas and priority levels set by Red Hat OpenShift on IBM Cloud.

  1. List all flow schemas in your cluster, including those set by Red Hat OpenShift on IBM Cloud, and their corresponding priority levels .

    oc get flowschemas
    
  2. Review the details of a particular flow schema including which resources can make prioritized API requests, what type of API requests can be made, and what objects the requests can modify.

    oc describe flowschema <flow-schema-name>
    

Viewing Red Hat OpenShift on IBM Cloud created priority level configurations

Red Hat OpenShift on IBM Cloud sets a custom priority level configuration for the apiserver-health resource.

Use the following commands to view details about the configuration.

oc get prioritylevelconfiguration apiserver-health
oc describe prioritylevelconfiguration apiserver-health