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.

    1. 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 the values.yaml file. Then install the chart
    2. 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.

    1. Prepare

      Stop all workloads and detach all Longhorn volumes. Make sure all Longhorn volumes are detached.

    2. Set taint tolerations for system managed components

    Available since v0.6.0