You may customize Longhorn’s default settings when deploying it. You may specify, for example, Create Default Disk With Node Labeled and Default Data Path before starting Longhorn.

This default setting is only for a Longhorn system that hasn’t been deployed. It has no impact on an existing Longhorn system. The settings for any existing Longhorn system should be modified using the Longhorn UI.

The default settings can be customized in the following ways:

Using the Rancher UI

From the project view in Rancher, go to Apps > Launch > Longhorn and edit the settings before launching the app.

Using the Longhorn Deployment YAML File

  1. Download the longhorn repo:

    1. git clone https://github.com/longhorn/longhorn.git
  2. Modify the config map named longhorn-default-setting in the yaml file longhorn/deploy/longhorn.yaml. For example:

    1. ---
    2. apiVersion: v1
    3. kind: ConfigMap
    4. metadata:
    5. name: longhorn-default-setting
    6. namespace: longhorn-system
    7. data:
    8. default-setting.yaml: |-
    9. backup-target: s3://backupbucket@us-east-1/backupstore
    10. backup-target-credential-secret: minio-secret
    11. create-default-disk-labeled-nodes: true
    12. default-data-path: /var/lib/longhorn-example/
    13. replica-soft-anti-affinity: false
    14. storage-over-provisioning-percentage: 600
    15. storage-minimal-available-percentage: 15
    16. upgrade-checker: false
    17. default-replica-count: 2
    18. guaranteed-engine-cpu: 0.25
    19. default-longhorn-static-storage-class: longhorn-static-example
    20. backupstore-poll-interval: 500
    21. taint-toleration: key1=value1:NoSchedule; key2:NoExecute
    22. registry-secret: registry-secret
    23. auto-salvage: false
    24. disable-scheduling-on-cordoned-node: false
    25. replica-zone-soft-anti-affinity: false
    26. volume-attachment-recovery-policy: never
    27. mkfs-ext4-parameters: -O ^64bit,^metadata_csum
    28. ---

Using Helm

  1. Download the chart in the Longhorn repo:

    1. git clone https://github.com/longhorn/longhorn.git
  2. Use helm command with --set flag to modify the default settings. For example:

    1. helm install ./longhorn/chart \
    2. --name longhorn \
    3. --namespace longhorn-system \
    4. --set defaultSettings.taintToleration="key1=value1:NoSchedule; key2:NoExecute"

    Or directly modify the default settings in the YAML file longhorn/chart/values.yaml, then use the Helm command without --set to deploy Longhorn. The following is an example longhorn/chart/values.yaml:

    1. defaultSettings:
    2. backupTarget: s3://backupbucket@us-east-1/backupstore
    3. backupTargetCredentialSecret: minio-secret
    4. createDefaultDiskLabeledNodes: true
    5. defaultDataPath: /var/lib/longhorn-example/
    6. replicaSoftAntiAffinity: false
    7. storageOverProvisioningPercentage: 600
    8. storageMinimalAvailablePercentage: 15
    9. upgradeChecker: false
    10. defaultReplicaCount: 2
    11. guaranteedEngineCPU: 0.25
    12. defaultLonghornStaticStorageClass: longhorn-static-example
    13. backupstorePollInterval: 500
    14. taintToleration: key1=value1:NoSchedule; key2:NoExecute
    15. registrySecret: registry-secret
    16. autoSalvage: false
    17. disableSchedulingOnCordonedNode: false
    18. replicaZoneSoftAntiAffinity: false
    19. volumeAttachmentRecoveryPolicy: never
    20. mkfsExt4Parameters: -O ^64bit,^metadata_csum

    Then use the helm command:

    1. helm install ./longhorn/chart --name longhorn --namespace longhorn-system

For more info about using helm, see the section about installing Longhorn with Helm

History

Original feature request

Available since v0.6.0