Longhorn,企業(yè)級云原生容器分布式存儲 - 定制部署默認(rèn)設(shè)置
您可以在部署 Longhorn 時自定義它的默認(rèn)設(shè)置。例如,您可以在啟動 Longhorn 之前指定 Create Default Disk With Node Labeled(創(chuàng)建帶有節(jié)點(diǎn)標(biāo)簽的默認(rèn)磁盤) 和 Default Data Path(默認(rèn)數(shù)據(jù)路徑)。
此默認(rèn)設(shè)置僅適用于尚未部署的 Longhorn 系統(tǒng)。它對現(xiàn)有的 Longhorn 系統(tǒng)沒有影響。任何現(xiàn)有 Longhorn 系統(tǒng)的設(shè)置都應(yīng)使用 Longhorn UI 進(jìn)行修改。
可以通過以下方式自定義默認(rèn)設(shè)置:
- 使用 Rancher UI
- 使用 Longhorn Deployment YAML 文件
- 使用 Helm
使用 Rancher UI
在 Rancher 的項(xiàng)目視圖中,轉(zhuǎn)到 Apps > Launch > Longhorn 并在啟動應(yīng)用程序之前編輯設(shè)置。
使用 Longhorn Deployment YAML 文件
1.下載 longhorn repo:
- git clone https://github.com/longhorn/longhorn.git
修改 yaml 文件 longhorn/deploy/longhorn.yaml 中名為 longhorn-default-setting 的 config map。例如:
- ---
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: longhorn-default-setting
- namespace: longhorn-system
- data:
- default-setting.yaml: |-
- backup-target:
- backup-target-credential-secret:
- allow-recurring-job-while-volume-detached:
- create-default-disk-labeled-nodes:
- default-data-path:
- replica-soft-anti-affinity:
- storage-over-provisioning-percentage:
- storage-minimal-available-percentage:
- upgrade-checker:
- default-replica-count:
- default-data-locality:
- guaranteed-engine-cpu:
- default-longhorn-static-storage-class:
- backupstore-poll-interval:
- taint-toleration:
- system-managed-components-node-selector:
- priority-class:
- auto-salvage:
- auto-delete-pod-when-volume-detached-unexpectedly:
- disable-scheduling-on-cordoned-node:
- replica-zone-soft-anti-affinity:
- volume-attachment-recovery-policy:
- node-down-pod-deletion-policy:
- allow-node-drain-with-last-healthy-replica:
- mkfs-ext4-parameters:
- disable-replica-rebuild:
- replica-replenishment-wait-interval:
- disable-revision-counter:
- system-managed-pods-image-pull-policy:
- allow-volume-creation-with-degraded-availability:
- auto-cleanup-system-generated-snapshot:
- concurrent-automatic-engine-upgrade-per-node-limit:
- backing-image-cleanup-wait-interval:
- guaranteed-engine-manager-cpu:
- guaranteed-replica-manager-cpu:
- ---
使用 Helm
使用帶有 --set 標(biāo)志的 Helm 命令來修改默認(rèn)設(shè)置。例如:
- helm install longhorn/longhorn \
- --name longhorn \
- --namespace longhorn-system \
- --set defaultSettings.taintToleration="key1=value1:NoSchedule; key2:NoExecute"
您還可以提供一份 values.yaml 文件的副本,其中在運(yùn)行 Helm 命令時將默認(rèn)設(shè)置修改為 --values 標(biāo)志:
1.從 GitHub 獲取 values.yaml 文件的副本:
- curl -Lo values.yaml https://raw.githubusercontent.com/longhorn/charts/master/charts/longhorn/values.yaml
2.修改 YAML 文件中的默認(rèn)設(shè)置。以下是 values.yaml 的示例片段:
- defaultSettings:
- backupTarget: s3://backupbucket@us-east-1/backupstore
- backupTargetCredentialSecret: minio-secret
- createDefaultDiskLabeledNodes: true
- defaultDataPath: /var/lib/longhorn-example/
- replicaSoftAntiAffinity: false
- storageOverProvisioningPercentage: 600
- storageMinimalAvailablePercentage: 15
- upgradeChecker: false
- defaultReplicaCount: 2
- defaultDataLocality: disabled
- guaranteedEngineCPU:
- defaultLonghornStaticStorageClass: longhorn-static-example
- backupstorePollInterval: 500
- taintToleration: key1=value1:NoSchedule; key2:NoExecute
- systemManagedComponentsNodeSelector: "label-key1:label-value1"
- priority-class: high-priority
- autoSalvage: false
- disableSchedulingOnCordonedNode: false
- replicaZoneSoftAntiAffinity: false
- volumeAttachmentRecoveryPolicy: never
- nodeDownPodDeletionPolicy: do-nothing
- mkfsExt4Parameters: -O ^64bit,^metadata_csum
- guaranteed-engine-manager-cpu: 15
- guaranteed-replica-manager-cpu: 15
3.使用 values.yaml 運(yùn)行 Helm:
- helm install longhorn/longhorn --name longhorn --namespace longhorn-system --values values.yaml