Описание и примеры values.yaml

Zakroma-ZDS — нижний слой хранения (для схемы Erasure Coding 2+1 минимальное требование — 3 пода; режим Full Copy задаётся политикой хранения на группах).

Helm‑чарт создает StatefulSet и его конфигурацию для запуска в Kubernetes.

1. Поддерживаемые сценарии установки

  • Erasure Coding (EC): Режим с избыточностью данных (количество частей данных и частей избыточности необходимо определить перед установкой)
  • Full Copy (FC): Режим полного копирования файлов (количество реплик задаётся в persistence.replicaCount)

2. Подготовка Kubernetes‑пространства

Создайте namespace:

1kubectl create namespace zakroma-zds

3. Подготовить values.yaml для Helm чарта

Ниже приведены базовые команды установки и примеры values.yaml для типовых сценариев.

4. Установка

1helm upgrade --install zakroma-zds <chart-ref> -n zakroma-zds -f values.yaml

Где <chart-ref> — путь к локальному чарту или <repo>/<chart> из добавленного Helm‑репозитория.

5. Глобальные параметры хранения и переопределение для групп хранения

Настройки хранения задаются в блоке persistence. Глобальные параметры действуют на все группы хранения, а список persistence.volumes определяет их количество, и позволяет точечно переопределить параметры отдельных групп.

Не путайте:

  • replicaCount на верхнем уровне — число подов ZDS;
  • persistence.replicaCount — число реплик файла в режиме FC.

Глобальные параметры (persistence.*)

ПараметрНазначение
sizeРазмер PVC для data-тома (если том не задаёт свой size)
storageClassKubernetes StorageClass для data PVC (пустая строка — StorageClass кластера по умолчанию)
storageClassZdsКласс хранения ZDS отображающийся в Закрома: HDD, SSD или RAM
storageModeГлобальный режим хранения: EC или FC
dataPart / parityPartСхема EC (D + N), например 2 + 1
replicaCountЧисло реплик для FC
volumesСписок томов; длина списка = число MountPoint/PVC на под
annotationsГлобальные аннотации data PVC
SystemVolumeSize / storageClassSystemVolumeРазмер и StorageClass system-volume (changelog/registry/vacuum-state)

Группу хранения в volumes можно задать так:

  • "default" (или "" / {}) — взять все значения из глобальных параметров;
  • map с полями-переопределениями — заменяет указанные глобальные значения для данной группы хранения, остальные параметры берутся из глобальных.

Для PVC переопределяются: storageClass, storageClassZds, size, annotations (аннотации тома мержатся поверх persistence.annotations, значения тома приоритетнее), storageMode, dataPart, parityPart, replicaCount.

Пример: одна группа хранения с глобальными настройками

1persistence: 2 size: 3Gi 3 storageClass: "" 4 storageClassZds: "HDD" 5 storageMode: EC 6 dataPart: 2 7 parityPart: 1 8 replicaCount: 2 9 volumes: 10 - default

У каждого пода будет один data PVC с глобальными параметрами. storagePolicyOverrides не создаётся.

Пример: несколько одинаковых групп хранения

1persistence: 2 size: 100Gi 3 storageClass: "fast-ssd" 4 storageClassZds: "SSD" 5 storageMode: EC 6 dataPart: 2 7 parityPart: 1 8 volumes: 9 - default 10 - default

Два MountPoint на под (data-1, data-2), оба с размером 100Gi и StorageClass fast-ssd.

Пример: переопределение размера и StorageClass у второй группы хранения

1persistence: 2 size: 100Gi 3 storageClass: "hdd" 4 storageClassZds: "HDD" 5 storageMode: EC 6 dataPart: 2 7 parityPart: 1 8 volumes: 9 - default 10 - storageClass: fast-ssd 11 storageClassZds: SSD 12 size: 50Gi 13 annotations: 14 example.org/volume: data-2
  • Группа хранения 1 — глобальные hdd / HDD / 100Gi;
  • Группа хранения 2 — fast-ssd / SSD / 50Gi и дополнительная аннотация PVC.

Пример: разные политики хранения на разных томах

1persistence: 2 storageMode: EC 3 dataPart: 4 4 parityPart: 1 5 replicaCount: 2 6 volumes: 7 - default 8 - storageMode: EC 9 dataPart: 3 10 parityPart: 2 11 - storageMode: FC 12 replicaCount: 3
  • Группа хранения 1 (default) — использует глобальную схему EC 4+1, отдельный override не создаётся;
  • Группа хранения 2 — EC 3+2 через storagePolicyOverrides для storageGroup 2;
  • Группа хранения 3 — FC с maxReplicas: 3 для storageGroup 3 (allowEC: false).

Для схемы EC число доступных дисков в группе хранения должно быть не меньше dataPart + parityPart. Число подов задаётся отдельно верхнеуровневым replicaCount.

Подробнее о режимах EC/FC и группах хранения см. Как ZDS хранит данные и Конфигурация ZDS.

Пример values.yaml для установки в режиме Erasure Coding (EC 2:1)

1#===================================================# 2#=============== Основные параметры ================# 3#===================================================# 4# Количество подов ZDS 5replicaCount: 3
Развернутьarrow

Пример values.yaml для установки в режиме Full Copy (FC)

1#===================================================# 2#=============== Основные параметры ================# 3#===================================================# 4# Количество подов ZDS 5replicaCount: 3
Развернутьarrow