内容来源于官方 Longhorn 1.1.2
英文技术手册。
系列
- Longhorn 是什么?
- Longhorn 云原生容器分布式存储 - 设计架构和概念
- Longhorn 云原生容器分布式存储 - 部署篇
- Longhorn 云原生容器分布式存储 - 券和节点
- Longhorn 云原生容器分布式存储 - K8S 资源配置示例
- Longhorn 云原生容器分布式存储 - 监控(Prometheus)
- Longhorn 云原生容器分布式存储 - 备份与恢复
- Longhorn 云原生容器分布式存储 - 高可用
- Longhorn 云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载
您可以在部署 Longhorn
时自定义它的默认设置。例如,您可以在启动 Longhorn
之前指定 Create Default Disk With Node Labeled(创建带有节点标签的默认磁盘)
和 Default Data Path(默认数据路径)
。
此默认设置仅适用于尚未部署的 Longhorn
系统。它对现有的 Longhorn
系统没有影响。
任何现有 Longhorn
系统的设置都应使用 Longhorn UI
进行修改。
可以通过以下方式自定义默认设置:
- 使用
Rancher UI
- 使用
Longhorn Deployment YAML
文件 - 使用
Helm
使用 Rancher UI
在 Rancher
的项目视图中,转到 Apps > Launch > Longhorn 并在启动应用程序之前编辑设置。
使用 Longhorn Deployment YAML 文件
-
下载 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-settingnamespace: 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
标志的 Helm
命令来修改默认设置。 例如:
helm install longhorn/longhorn \
--name longhorn \
--namespace longhorn-system \
--set defaultSettings.taintToleration="key1=value1:NoSchedule; key2:NoExecute"
您还可以提供一份 values.yaml
文件的副本,其中在运行 Helm 命令时将默认设置修改为 --values
标志:
-
从 GitHub 获取
values.yaml
文件的副本:curl -Lo values.yaml https://raw.githubusercontent.com/longhorn/charts/master/charts/longhorn/values.yaml
-
修改 YAML 文件中的默认设置。以下是
values.yaml
的示例片段:defaultSettings:backupTarget: s3://backupbucket@us-east-1/backupstorebackupTargetCredentialSecret: minio-secretcreateDefaultDiskLabeledNodes: truedefaultDataPath: /var/lib/longhorn-example/replicaSoftAntiAffinity: falsestorageOverProvisioningPercentage: 600storageMinimalAvailablePercentage: 15upgradeChecker: falsedefaultReplicaCount: 2defaultDataLocality: disabledguaranteedEngineCPU:defaultLonghornStaticStorageClass: longhorn-static-examplebackupstorePollInterval: 500taintToleration: key1=value1:NoSchedule; key2:NoExecutesystemManagedComponentsNodeSelector: "label-key1:label-value1"priority-class: high-priorityautoSalvage: falsedisableSchedulingOnCordonedNode: falsereplicaZoneSoftAntiAffinity: falsevolumeAttachmentRecoveryPolicy: nevernodeDownPodDeletionPolicy: do-nothingmkfsExt4Parameters: -O ^64bit,^metadata_csumguaranteed-engine-manager-cpu: 15guaranteed-replica-manager-cpu: 15
-
使用
values.yaml
运行 Helm:helm install longhorn/longhorn --name longhorn --namespace longhorn-system --values values.yaml
公众号:黑客下午茶