Notice that the taint tolerations setting for one workload will not prevent it from being scheduled to the nodes that don’t contain the corresponding taints.
For more information about how taints and tolerations work, refer to the official Kubernetes documentation.
Setting up Taints and Tolerations
Longhorn system contains user deployed components (e.g, Manager, Driver Deployer, UI) and system managed components (e.g, Instance Manager, Engine Image, CSI Driver, etc.) You need to set tolerations for both types of components. See more details below.
Set taint tolerations for user deployed components (Manager, UI, Driver Deployer)
If you install Longhorn by using
kubectl
to apply the deployment YAML, you need to modify the taint tolerations section for Longhorn Manager, Longhorn UI, and Longhorn Driver Deployer. Then apply the YAMl files.- If you install Longhorn using Helm, you can change the Helm values for
longhornManager.tolerations
,longhornUI.tolerations
,longhornDriver.tolerations
in thevalues.yaml
file. Then install the chart
-
Follow the to set taint tolerations by changing the value for the default setting
Setting up Taints and Tolerations After Longhorn has been installed
Warning:
Before modifying the toleration settings, users should make sure all Longhorn volumes are
detached
.Since all Longhorn components will be restarted, the Longhorn system is unavailable temporarily. If there are running Longhorn volumes in the system, this means the Longhorn system cannot restart its components and the request will be rejected.
Prepare
Stop all workloads and detach all Longhorn volumes. Make sure all Longhorn volumes are
detached
.Set taint tolerations for system managed components
Available since v0.6.0