The Priority Class setting can be used to set a higher priority on Longhorn workloads in the cluster, preventing them from being the first to be evicted during node pressure situations.
For more information on how pod priority works, refer to the official Kubernetes documentation.
Longhorn system contains user deployed components (e.g, Longhorn manager, Longhorn driver, Longhorn UI) and system managed components (e.g, instance manager, engine image, CSI driver, etc.) You need to set Priority Class for both types of components. See more details below.
Warning: Longhorn will not start if the Priority Class setting is invalid (such as the Priority Class not existing). You can see if this is the case by checking the status of the longhorn-manager DaemonSet with
kubectl -n longhorn-system describe daemonset.apps/longhorn-manager. You will need to uninstall Longhorn and restart the installation if this is the case.
Users can update or remove the Priority Class here, but note that this will result in recreation of all the Longhorn system components. The Priority Class setting will reject values that appear to be invalid Priority Classes.
Before modifying the Priority Class setting, all Longhorn volumes must be detached.
Since all Longhorn components will be restarted, the Longhorn system will temporarily be unavailable. If there are running Longhorn volumes in the system, Longhorn system will not be able to restart its components, and the request will be rejected.
Don’t operate the Longhorn system after modifying the Priority Class setting, as the Longhorn components will be restarting.
Do not delete the Priority Class in use by Longhorn, as this can cause new Longhorn workloads to fail to come online.
Available since v1.0.1
© 2019-2023 Longhorn Authors | Documentation Distributed under CC-BY-4.0
© 2023 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.