Longhorn,企业级云原生容器分布式存储 - 定制部署默认设置

存储 存储软件 云原生 分布式
您可以在部署 Longhorn 时自定义它的默认设置。例如,您可以在启动 Longhorn 之前指定 Create Default Disk With Node Labeled(创建带有节点标签的默认磁盘) 和 Default Data Path(默认数据路径)。

[[420038]]

您可以在部署 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 文件

1.下载 longhorn repo:

  1. git clone https://github.com/longhorn/longhorn.git 

修改 yaml 文件 longhorn/deploy/longhorn.yaml 中名为 longhorn-default-setting 的 config map。例如:

  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: 
  10.     backup-target-credential-secret: 
  11.     allow-recurring-job-while-volume-detached: 
  12.     create-default-disk-labeled-nodes: 
  13.     default-data-path: 
  14.     replica-soft-anti-affinity: 
  15.     storage-over-provisioning-percentage: 
  16.     storage-minimal-available-percentage: 
  17.     upgrade-checker: 
  18.     default-replica-count
  19.     default-data-locality: 
  20.     guaranteed-engine-cpu: 
  21.     default-longhorn-static-storage-class: 
  22.     backupstore-poll-interval: 
  23.     taint-toleration: 
  24.     system-managed-components-node-selector: 
  25.     priority-class: 
  26.     auto-salvage: 
  27.     auto-delete-pod-when-volume-detached-unexpectedly: 
  28.     disable-scheduling-on-cordoned-node: 
  29.     replica-zone-soft-anti-affinity: 
  30.     volume-attachment-recovery-policy: 
  31.     node-down-pod-deletion-policy: 
  32.     allow-node-drain-with-last-healthy-replica: 
  33.     mkfs-ext4-parameters: 
  34.     disable-replica-rebuild: 
  35.     replica-replenishment-wait-interval: 
  36.     disable-revision-counter: 
  37.     system-managed-pods-image-pull-policy: 
  38.     allow-volume-creation-with-degraded-availability: 
  39.     auto-cleanup-system-generated-snapshot: 
  40.     concurrent-automatic-engine-upgrade-per-node-limit: 
  41.     backing-image-cleanup-wait-interval: 
  42.     guaranteed-engine-manager-cpu: 
  43.     guaranteed-replica-manager-cpu: 
  44. --- 

使用 Helm

使用带有 --set 标志的 Helm 命令来修改默认设置。例如:

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

您还可以提供一份 values.yaml 文件的副本,其中在运行 Helm 命令时将默认设置修改为 --values 标志:

1.从 GitHub 获取 values.yaml 文件的副本:

  1. curl -Lo values.yaml https://raw.githubusercontent.com/longhorn/charts/master/charts/longhorn/values.yaml 

2.修改 YAML 文件中的默认设置。以下是 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.   defaultDataLocality: disabled 
  12.   guaranteedEngineCPU: 
  13.   defaultLonghornStaticStorageClass: longhorn-static-example 
  14.   backupstorePollInterval: 500 
  15.   taintToleration: key1=value1:NoSchedule; key2:NoExecute 
  16.   systemManagedComponentsNodeSelector: "label-key1:label-value1" 
  17.   priority-class: high-priority 
  18.   autoSalvage: false 
  19.   disableSchedulingOnCordonedNode: false 
  20.   replicaZoneSoftAntiAffinity: false 
  21.   volumeAttachmentRecoveryPolicy: never 
  22.   nodeDownPodDeletionPolicy: do-nothing 
  23.   mkfsExt4Parameters: -O ^64bit,^metadata_csum 
  24.   guaranteed-engine-manager-cpu: 15 
  25.   guaranteed-replica-manager-cpu: 15 

3.使用 values.yaml 运行 Helm:

  1. helm install longhorn/longhorn --name longhorn --namespace longhorn-system --values values.yaml 

 

责任编辑:武晓燕 来源: 黑客下午茶
相关推荐

2021-08-26 00:23:14

分布式存储高可用

2021-08-24 05:02:34

云原生容器分布式

2021-08-25 05:05:26

存储 备份恢复

2021-08-26 23:54:46

分布式存储负载

2021-08-18 14:33:53

存储云原生容器

2021-09-03 05:00:28

分布式存储云原生

2021-08-29 23:53:32

存储Air Gap安装

2021-10-18 23:49:50

云原生分布式存储

2021-08-17 00:24:38

块存储云原生分布式

2022-02-21 10:17:33

Rancher开源云原生

2014-03-03 09:23:43

Zabbix分布式系统监控

2021-08-17 12:36:21

Longhorn云原生存储

2014-03-10 17:21:00

IT技术周刊

2009-10-26 14:10:46

分布式设计

2019-01-24 14:49:15

深信服

2009-08-25 13:25:00

Java企业级应用架构分布式结构

2023-09-14 15:38:55

云原生分布式架构

2020-12-16 20:07:18

容器技术

2017-03-29 13:24:32

腾讯云灵雀云
点赞
收藏

51CTO技术栈公众号