For the complete documentation index, see llms.txt. This page is also available as Markdown.

Pod Priority Classes

Assign pod priority classes to Connectware and Connectware agent components to control scheduling order and protect critical workloads from eviction.

Pod priority classes control how Kubernetes schedules and evicts pods when cluster resources are under pressure. Assigning a priority to Connectware components ensures they are scheduled first and are less likely to be evicted in favor of lower-priority workloads.

When to Use Pod Priority Classes

Use pod priority classes when you need to control how Kubernetes handles resource contention in your cluster. This ensures important pods are not evicted when node resources become scarce.

Configuration Values

The following Helm value assigns a pod priority class to Connectware components:

Value
Description

podPriorityClassName

Name of the Kubernetes PriorityClass to assign to the component's pods. Must reference an existing PriorityClass in your cluster.

Checking Available Priority Classes

Before configuring Connectware components to use a priority class, verify which priority classes are already defined in your cluster:

kubectl get priorityclasses

Example output

NAME                      VALUE        GLOBAL-DEFAULT   AGE    PREEMPTIONPOLICY
default                   100000       true             102d   PreemptLowerPriority
high-priority             1000000      false            102d   PreemptLowerPriority
low-priority              1000         false            102d   Never
system-cluster-critical   2000000000   false            396d   PreemptLowerPriority
system-node-critical      2000001000   false            396d   PreemptLowerPriority

If the priority class you need does not exist, you must create it before referencing it in the Helm chart.

Creating a Pod Priority Class

If your cluster does not already have an appropriate priority class, create one using kubectl. The following example creates a priority class named high-priority with a value of 1000000 and a preemption policy of PreemptLowerPriority:

Preemption policies

With preemptionPolicy: PreemptLowerPriority, pods using this class are scheduled ahead of lower-priority pods. If the cluster is under resource pressure and no node has enough free capacity, Kubernetes may evict lower-priority pods to make room. Setting preemptionPolicy: Never still gives the pod scheduling preference without triggering any evictions.

For full details on priority values, preemption policies, and global defaults, see the Kubernetes documentation on Pod Priority and Preemption.

Examples: Configuring Pod Priority Classes

The following tabs show how to configure pod priority classes for the connectware Helm chart and the connectware-agent Helm chart.

Configuring a Global Pod Priority Class

To apply a single priority class to all Connectware components at once, set the global.podPriorityClassName value.

Example: Applying a priority class to all components as a global value

Replace ${LICENSE_KEY} with your Connectware license key.

Configuring a Pod Priority Class Per Component

Individual components can override the global setting or be given a priority class independently by setting podPriorityClassName under their own configuration section. A component-level value always takes precedence over global.podPriorityClassName.

All Connectware components and subcharts support this value.

Cannot unset a global priority class with an empty string

Example: Assigning a higher priority to the broker only

Global vs. component-level priority classes

Because no global.podPriorityClassName is set in this example, the priority class is applied only to the broker. All other Connectware components run without a priority class, or use the cluster's default priority class if one is configured.

Example: Global priority class with a component-level override

Last updated

Was this helpful?