Longhorn#

Longhorn - это распределенная, облачно-нативная система хранения (CSI) для Kubernetes. Она предоставляет легковесное, надежное и масштабируемое блочное хранилище на основе реплицированных постоянных томов, созданных из локального дискового пространства узлов кластера.

Важно

Для корректной работы на узлах, где будут работать pod Longhorn, должны быть установлены необходимые пакеты и включены службы:

sudo dnf install -y iscsi-initiator-utils nfs-utils device-mapper cryptsetup
sudo systemctl enable --now iscsid
sudo modprobe iscsi_tcp
sudo modprobe nfs

Эти пакеты есть в BaseOS репозитории Platform V Sberlinux.

Основные задачи и возможности
  • Создает и управляет постоянными томами (PersistentVolume - далее PV) с помощью локальных дисков, объединяя их в отказоустойчивую распределенную систему.

  • Поддерживает репликацию томов между узлами. При сбое одного узла данные остаются доступны благодаря автоматическому переключению.

  • Поддерживает гибкое управление томами:

    • создает снимки и резервные копии;

    • восстанавливает тома из бекапов;

    • клонирует тома;

    • масштабирует емкость.

  • Позволяет сохранять резервные копии во внешние хранилища: S3, NFS, MinIO и другие.

  • Предоставляет удобный UI для управления томами, узлами, резервным копированием и отслеживания состояния системы.

Примечание

Longhorn не является инструментом по умолчанию в компоненте Storage. Его можно установить как инструмент (Tool), или явно включить в список spec.tools при установке компонента Storage.

Конфигурация values#

Параметры Longhorn можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».

networkPolicies - определить параметры NetworkPolicy для Longhorn#

Параметр

Описание

Значение по умолчанию

networkPolicies.enabled

Включает NetworkPolicy для ограничения доступа к pod Longhorn

false

networkPolicies.type

Дистрибутив Kubernetes, под который формируются правила ingress-доступа

"k8s"

image - определить параметры контейнерных образов Longhorn#

Параметр

Описание

Значение по умолчанию

image.longhorn.engine.registry

Реестр образа Longhorn Engine

'{{ .Values.global.image.registry }}'

image.longhorn.engine.repository

Репозиторий образа Longhorn Engine

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-longhorn-engine/longhorn-engine'

image.longhorn.engine.tag

Метка образа Longhorn Engine

v1.11.1

image.longhorn.manager.registry

Реестр образа Longhorn Manager

'{{ .Values.global.image.registry }}'

image.longhorn.manager.repository

Репозиторий образа Longhorn Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-longhorn-manager/longhorn-manager'

image.longhorn.manager.tag

Метка образа Longhorn Manager

v1.11.1

image.longhorn.ui.registry

Реестр образа Longhorn UI

'{{ .Values.global.image.registry }}'

image.longhorn.ui.repository

Репозиторий образа Longhorn UI

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-longhorn-ui/longhorn-ui'

image.longhorn.ui.tag

Метка образа Longhorn UI

v1.11.1

image.longhorn.instanceManager.registry

Реестр образа Longhorn Instance Manager

'{{ .Values.global.image.registry }}'

image.longhorn.instanceManager.repository

Репозиторий образа Longhorn Instance Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-longhorn-instance-manager/longhorn-instance-manager'

image.longhorn.instanceManager.tag

Метка образа Longhorn Instance Manager

v1.11.1

image.longhorn.shareManager.registry

Реестр образа Longhorn Share Manager

'{{ .Values.global.image.registry }}'

image.longhorn.shareManager.repository

Репозиторий образа Longhorn Share Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-longhorn-share-manager/longhorn-share-manager'

image.longhorn.shareManager.tag

Метка образа Longhorn Share Manager

v1.11.1

image.longhorn.backingImageManager.registry

Реестр образа Backing Image Manager

'{{ .Values.global.image.registry }}'

image.longhorn.backingImageManager.repository

Репозиторий образа Backing Image Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-backing-image-manager/backing-image-manager'

image.longhorn.backingImageManager.tag

Метка образа Backing Image Manager

v1.11.1

image.longhorn.supportBundleKit.registry

Реестр образа Longhorn Support Bundle Manager

'{{ .Values.global.image.registry }}'

image.longhorn.supportBundleKit.repository

Репозиторий образа Longhorn Support Bundle Manager

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-support-bundle-kit/support-bundle-kit'

image.longhorn.supportBundleKit.tag

Метка образа Longhorn Support Bundle Manager

v0.0.81

image.csi.attacher.registry

Реестр образа CSI Attacher

'{{ .Values.global.image.registry }}'

image.csi.attacher.repository

Репозиторий образа CSI Attacher

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-attacher/csi-attacher'

image.csi.attacher.tag

Метка образа CSI Attacher

v4.11.0

image.csi.provisioner.registry

Реестр образа CSI Provisioner

'{{ .Values.global.image.registry }}'

image.csi.provisioner.repository

Репозиторий образа CSI Provisioner

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-external-provisioner/csi-provisioner'

image.csi.provisioner.tag

Метка образа CSI Provisioner

v6.1.0

image.csi.nodeDriverRegistrar.registry

Реестр образа CSI Node Driver Registrar

'{{ .Values.global.image.registry }}'

image.csi.nodeDriverRegistrar.repository

Репозиторий образа CSI Node Driver Registrar

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-node-driver-registrar/csi-node-driver-registrar'

image.csi.nodeDriverRegistrar.tag

Метка образа CSI Node Driver Registrar

v2.16.0

image.csi.resizer.registry

Реестр образа CSI Resizer

'{{ .Values.global.image.registry }}'

image.csi.resizer.repository

Репозиторий образа CSI Resizer

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-external-resizer/csi-resizer'

image.csi.resizer.tag

Метка образа CSI Resizer

v2.1.0

image.csi.snapshotter.registry

Реестр образа CSI Snapshotter

'{{ .Values.global.image.registry }}'

image.csi.snapshotter.repository

Репозиторий образа CSI Snapshotter

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-snapshotter/csi-snapshotter'

image.csi.snapshotter.tag

Метка образа CSI Snapshotter

v8.5.0

image.csi.livenessProbe.registry

Реестр образа CSI liveness probe

'{{ .Values.global.image.registry }}'

image.csi.livenessProbe.repository

Репозиторий образа CSI liveness probe

'{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-csi-livenessprobe/livenessprobe'

image.csi.livenessProbe.tag

Метка образа CSI liveness probe

v2.18.0

image.openshift.oauthProxy.registry

Реестр образа OAuth Proxy

""

image.openshift.oauthProxy.repository

Репозиторий образа OAuth Proxy

""

image.openshift.oauthProxy.tag

Метка образа OAuth Proxy

""

image.pullPolicy

Политики Image pull для пользовательских компонентов Longhorn

IfNotPresent

service - определить параметры Service для Longhorn#

Параметр

Описание

Значение по умолчанию

service.ui.type

Тип Service для Longhorn UI

ClusterIP

service.ui.nodePort

NodePort для Longhorn UI, если значение не указано, порт выбирается Kubernetes автоматически

Отсутствует

service.ui.loadBalancerClass

Класс реализации LoadBalancer для Longhorn UI Service

""

service.ui.annotations

Дополнительные аннотации для Longhorn UI Service. Пример конфигурации:

annotation-key1: «annotation-value1»
annotation-key2: «annotation-value2»

{}

service.ui.labels

Дополнительные метки для Longhorn UI Service. Пример конфигурации:

label-key1: «label-value1»
label-key2: «label-value2»

{}

service.manager.type

Тип Service для Longhorn Manager

ClusterIP

service.manager.nodePort

NodePort для Longhorn Manager, при пустом значении порт выбирается Kubernetes автоматически

""

persistence - определить параметры StorageClass и постоянного хранения Longhorn#

Параметр

Описание

Значение по умолчанию

persistence.defaultClass

Делает Longhorn StorageClass классом по умолчанию

true

persistence.defaultFsType

Тип файловой системы для Longhorn StorageClass по умолчанию

ext4

persistence.defaultMkfsParams

Дополнительные параметры mkfs для Longhorn StorageClass по умолчанию

""

persistence.defaultClassReplicaCount

Количество реплик для Longhorn StorageClass по умолчанию

3

persistence.defaultDataLocality

Datalocality для Longhorn StorageClass по умолчанию

disabled

persistence.reclaimPolicy

Политики Reclaim для PV после удаления Persistent Volume Claim (далее - PVC)

Delete

persistence.volumeBindingMode

Режим привязки тома и динамического provisioning

"Immediate"

persistence.migratable

Включает live-migration-тома Longhorn между узлами

false

persistence.disableRevisionCounter

Отключает revision counter для тома

"true"

persistence.nfsOptions

NFS mount options для тома RWX в Longhorn StorageClass

""

persistence.recurringJobSelector.enable

Включает recurring job selector для Longhorn StorageClass

false

persistence.recurringJobSelector.jobList

Список recurring job selector для Longhorn StorageClass

[]

persistence.backingImage.enable

Разрешает использовать backing image в Longhorn StorageClass

true

persistence.backingImage.name

Имя backing image для создания и восстановления тома

Отсутствует

persistence.backingImage.dataSourceType

Тип источника данных backing image

Отсутствует

persistence.backingImage.dataSourceParameters

Параметры источника данных backing image в виде JSON-строки

Отсутствует

persistence.backingImage.expectedChecksum

Ожидаемая SHA-512 контрольная сумма backing image

Отсутствует

persistence.defaultDiskSelector.enable

Включает селектор дисков для Longhorn StorageClass по умолчанию

false

persistence.defaultDiskSelector.selector

Селектор дисков для выбора дисков по меткам

""

persistence.defaultNodeSelector.enable

Включает селектор узлов для Longhorn StorageClass по умолчанию

false

persistence.defaultNodeSelector.selector

Селектор узлов для выбора узлов по меткам

""

persistence.unmapMarkSnapChainRemoved

Управляет автоматическим удалением snapshot chain при filesystem trim

ignored

persistence.dataEngine

Версия data engine для Longhorn StorageClass по умолчанию

v1

persistence.backupTargetName

Имя backup target для Longhorn StorageClass по умолчанию

default

preUpgradeChecker - определить проверки перед обновлением Longhorn#

Параметр

Описание

Значение по умолчанию

preUpgradeChecker.jobEnabled

Включает pre-upgrade checks перед обновлением Longhorn

true

preUpgradeChecker.upgradeVersionCheck

Включает проверку версии после старта Longhorn Manager DaemonSet

true

csi - определить параметры CSI-компонентов Longhorn#

Параметр

Описание

Значение по умолчанию

csi.kubeletRootDir

Корневой каталог Kubelet, используемый CSI-компонентами

Отсутствует

csi.podAntiAffinityPreset

Заранее настроенная политика anti-affinity для распределения pod CSI по узлам

Отсутствует

csi.attacherReplicaCount

Количество реплик CSI Attacher

Отсутствует

csi.provisionerReplicaCount

Количество реплик CSI Provisioner

Отсутствует

csi.resizerReplicaCount

Количество реплик CSI Resizer

Отсутствует

csi.snapshotterReplicaCount

Количество реплик CSI Snapshotter

Отсутствует

defaultSettings - определить системные настройки Longhorn по умолчанию#

Параметр

Описание

Значение по умолчанию

defaultSettings.allowRecurringJobWhileVolumeDetached

Разрешает автоматически подключать тома и создавать снимок или backup при запуске recurring job

Отсутствует

defaultSettings.createDefaultDiskLabeledNodes

Создает диск по умолчание только на узлах с меткой node.longhorn.io/create-default-disk=true

Отсутствует

defaultSettings.defaultDataPath

Путь на хосте для хранения данных Longhorn

Отсутствует

defaultSettings.defaultDataLocality

Data locality по умолчанию для тома

Отсутствует

defaultSettings.replicaSoftAntiAffinity

Разрешает scheduling на узлах, где уже есть healthy-реплика того же тома

Отсутствует

defaultSettings.replicaAutoBalance

Включает автоматическое перераспределение реплик при появлении доступного узла

Отсутствует

defaultSettings.storageOverProvisioningPercentage

Процент overprovisioning относительно емкости диска

Отсутствует

defaultSettings.storageMinimalAvailablePercentage

Минимальный процент свободного места на диске для возможности scheduling

Отсутствует

defaultSettings.storageReservedPercentageForDefaultDisk

Процент дискового пространства, резервируемый на диск по умолчанию каждого нового узла

Отсутствует

defaultSettings.upgradeChecker

Включает периодическую проверку новых версий Longhorn

Отсутствует

defaultSettings.upgradeResponderURL

URL Upgrade Responder для уведомлений о доступных обновлениях

Отсутствует

defaultSettings.managerUrl

Внешний URL Longhorn Manager API для ссылок в ответах API

Отсутствует

defaultSettings.defaultReplicaCount

Количество реплик по умолчанию для томов, созданных через Longhorn UI

Отсутствует

defaultSettings.defaultLonghornStaticStorageClass

Имя static StorageClass для существующих томов Longhorn

Отсутствует

defaultSettings.failedBackupTTL

Время хранения failed backup resource в минутах

Отсутствует

defaultSettings.backupExecutionTimeout

Максимальное время выполнения backup в минутах

Отсутствует

defaultSettings.restoreVolumeRecurringJobs

Восстанавливает recurring jobs из backup-тома при restore

Отсутствует

defaultSettings.recurringSuccessfulJobsHistoryLimit

Максимальное количество успешных recurring jobs в истории

Отсутствует

defaultSettings.recurringFailedJobsHistoryLimit

Максимальное количество failed recurring jobs в истории

Отсутствует

defaultSettings.recurringJobMaxRetention

Максимальное количество снимков или backup, сохраняемых recurring job

Отсутствует

defaultSettings.supportBundleFailedHistoryLimit

Максимальное количество failed support bundles в кластере

Отсутствует

defaultSettings.taintToleration

Taint toleration для system-managed-компонентов Longhorn

Отсутствует

defaultSettings.systemManagedComponentsNodeSelector

Селектор узлов для system-managed компонентов Longhorn

Отсутствует

defaultSettings.systemManagedCSIComponentsResourceLimits

Resource limits для system-managed CSI-компонентов Longhorn

Отсутствует

defaultSettings.priorityClass

PriorityClass для system-managed компонентов Longhorn

"longhorn-critical"

defaultSettings.autoSalvage

Включает автоматическое восстановление тома при отказе всех реплик

Отсутствует

defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly

Удаляет workload pod под управлением контроллера при неожиданном detach-томе

Отсутствует

defaultSettings.blacklistForAutoDeletePodWhenVolumeDetachedUnexpectedly

Список controller api/kind, для которых запрещено автоматическое удаление pod при неожиданном detach-томе

Отсутствует

defaultSettings.disableSchedulingOnCordonedNode

Запрещает scheduling реплик на cordoned-узле

Отсутствует

defaultSettings.replicaZoneSoftAntiAffinity

Разрешает scheduling новых реплик в той же зоне, где уже есть healthy-реплики

Отсутствует

defaultSettings.replicaDiskSoftAntiAffinity

Разрешает scheduling реплик на дисках, где уже есть healthy-реплики того же тома

Отсутствует

defaultSettings.nodeDownPodDeletionPolicy

Политика удаления pod при отказе узла, на котором остался том workload

Отсутствует

defaultSettings.nodeDrainPolicy

Политика Longhorn при drain узла с последней healthy-реплики тома

Отсутствует

defaultSettings.detachManuallyAttachedVolumesWhenCordoned

Автоматически отключать тома, которые были подключены вручную, когда узел помечается как unschedulable (с помощью kubectl cordon <node>)

Отсутствует

defaultSettings.replicaReplenishmentWaitInterval

Время ожидания перед повторным использованием данных failed-реплик вместо создания новой реплики

Отсутствует

defaultSettings.concurrentReplicaRebuildPerNodeLimit

Максимальное количество параллельных rebuild-реплик на каждом узле

Отсутствует

defaultSettings.rebuildConcurrentSyncLimit

Максимальное количество параллельных file sync операций в одной rebuild-реплике

Отсутствует

defaultSettings.concurrentVolumeBackupRestorePerNodeLimit

Максимальное количество параллельных restore volume из backup на каждом узле

Отсутствует

defaultSettings.disableRevisionCounter

Отключает revision counter для томов, созданных через Longhorn UI

'{"v1":"true"}'

defaultSettings.systemManagedPodsImagePullPolicy

Политики Image pull для system-managed pod Longhorn

Отсутствует

defaultSettings.allowVolumeCreationWithDegradedAvailability

Разрешает создавать attach-тома до scheduling всех реплик

Отсутствует

defaultSettings.autoCleanupSystemGeneratedSnapshot

Автоматически удаляет system-generated-снимок после завершения rebuild-реплики

Отсутствует

defaultSettings.autoCleanupRecurringJobBackupSnapshot

Автоматически удаляет снимок, созданный recurring backup job

Отсутствует

defaultSettings.concurrentAutomaticEngineUpgradePerNodeLimit

Максимальное количество engine, параллельно обновляемых на каждом узле

Отсутствует

defaultSettings.backingImageCleanupWaitInterval

Время ожидания перед удалением backing image file, который не используется реплика

Отсутствует

defaultSettings.backingImageRecoveryWaitInterval

Время ожидания перед повторной загрузкой backing image при failed или unknown статусе файлов

Отсутствует

defaultSettings.guaranteedInstanceManagerCPU

Процент allocatable CPU, резервируемый для каждого instance manager pod

Отсутствует

defaultSettings.kubernetesClusterAutoscalerEnabled

Указывает Longhorn, что в кластере используется Kubernetes Cluster Autoscaler

Отсутствует

defaultSettings.orphanResourceAutoDeletion

Включает автоматическое удаление orphaned resources и связанных данных или процессов

Отсутствует

defaultSettings.orphanResourceAutoDeletionGracePeriod

Время ожидания перед автоматическим удалением orphaned Custom Resource и связанных ресурсов

Отсутствует

defaultSettings.storageNetwork

Выделенная storage network для in-cluster трафика Longhorn

Отсутствует

defaultSettings.endpointNetworkForRWXVolume

Выделенная сеть для монтирования RWX-тома

Отсутствует

defaultSettings.deletingConfirmationFlag

Флаг защиты от случайного удаления Longhorn

Отсутствует

defaultSettings.engineReplicaTimeout

Тайм-аут между Longhorn Engine и репликой

Отсутствует

defaultSettings.snapshotDataIntegrity

Управляет hashing снимков и проверками целостности данных

Отсутствует

defaultSettings.snapshotDataIntegrityImmediateCheckAfterSnapshotCreation

Отключает или включает проверку hashing снимков сразу после создания снимка

Отсутствует

defaultSettings.snapshotDataIntegrityCronjob

Cron-расписание проверки целостности снимка disk files

Отсутствует

defaultSettings.snapshotHeavyTaskConcurrentLimit

Лимит параллельных тяжелых снимков operations на узле

Отсутствует

defaultSettings.removeSnapshotsDuringFilesystemTrim

Автоматически помечает последний снимок и parent files как removed во время filesystem trim

Отсутствует

defaultSettings.fastReplicaRebuildEnabled

Включает fast rebuild реплик на основе checksum snapshot disk files

Отсутствует

defaultSettings.replicaFileSyncHttpClientTimeout

HTTP client тайм-аут для ответа File Sync server

Отсутствует

defaultSettings.longGRPCTimeOut

Максимальное время выполнения операций replica rebuild и snapshot clone

Отсутствует

defaultSettings.logLevel

Уровень логирования Longhorn Manager

Отсутствует

defaultSettings.logPath

Каталог на host для логов instance manager pod

Отсутствует

defaultSettings.backupCompressionMethod

Метод сжатия backup

Отсутствует

defaultSettings.backupConcurrentLimit

Максимальное количество worker threads на backup

Отсутствует

defaultSettings.defaultBackupBlockSize

Размер backup block по умолчанию в MiB

Отсутствует

defaultSettings.restoreConcurrentLimit

Максимальное количество worker threads на restore operation

Отсутствует

defaultSettings.v1DataEngine

Включает V1 Data Engine

Отсутствует

defaultSettings.v2DataEngine

Включает экспериментальный V2 Data Engine на базе SPDK

Отсутствует

defaultSettings.dataEngineHugepageEnabled

Включает hugepages для SPDK target daemon в V2 Data Engine

Отсутствует

defaultSettings.dataEngineMemorySize

Размер памяти hugepage для SPDK target daemon в MiB

Отсутствует

defaultSettings.dataEngineCPUMask

CPU mask для SPDK target daemon в V2 Data Engine

Отсутствует

defaultSettings.replicaRebuildingBandwidthLimit

Лимит write bandwidth для rebuild replica в V2 Data Engine

Отсутствует

defaultSettings.defaultUblkQueueDepth

Queue depth по умолчанию для Ublk frontend

Отсутствует

defaultSettings.defaultUblkNumberOfQueue

Количество queues по умолчанию для Ublk frontend

Отсутствует

defaultSettings.instanceManagerPodLivenessProbeTimeout

Тайм-аут liveness probe для instance manager pod в секундах

Отсутствует

defaultSettings.allowEmptyNodeSelectorVolume

Разрешает scheduling тома с пустым селектором узлов на любом узле

Отсутствует

defaultSettings.allowEmptyDiskSelectorVolume

Разрешает scheduling тома с пустым селектором дисков на любой disk

Отсутствует

defaultSettings.allowCollectingLonghornUsageMetrics

Разрешает сбор анонимных метрик Longhorn

Отсутствует

defaultSettings.disableSnapshotPurge

Временно запрещает все попытки purge снимков

Отсутствует

defaultSettings.snapshotMaxCount

Максимальное количество снимков для одного тома

Отсутствует

defaultSettings.dataEngineLogLevel

Уровень логирования SPDK target daemon для V2 Data Engine

Отсутствует

defaultSettings.dataEngineLogFlags

Log flags для SPDK target daemon в V2 Data Engine

Отсутствует

defaultSettings.freezeFilesystemForSnapshot

Замораживает filesystem на root partition перед созданием снимка

Отсутствует

defaultSettings.autoCleanupSnapshotWhenDeleteBackup

Автоматически удаляет снимок при удалении backup

Отсутствует

defaultSettings.autoCleanupSnapshotAfterOnDemandBackupCompleted

Автоматически удаляет снимок после завершения on-demand backup

Отсутствует

defaultSettings.rwxVolumeFastFailover

Включает fast failover для RWX-тома при отказе узла

Отсутствует

defaultSettings.offlineReplicaRebuilding

Включает rebuild degraded реплики, пока тома detached

Отсутствует

defaultSettings.nodeDiskHealthMonitoring

Включает мониторинг health-состояния дисков узла

Отсутствует

defaultSettings.csiAllowedTopologyKeys

Список topology keys, которые CSI driver может передавать в topology segments

Отсутствует

defaultBackupStore - определить параметры backupstore по умолчанию#

Параметр

Описание

Значение по умолчанию

defaultBackupStore.backupTarget

Endpoint default backupstore

Отсутствует

defaultBackupStore.backupTargetCredentialSecret

Имя секретов Kubernetes с credentials для backup target

Отсутствует

defaultBackupStore.pollInterval

Интервал проверки default backupstore на наличие новых backups

Отсутствует

privateRegistry - определить параметры приватного container registry#

Параметр

Описание

Значение по умолчанию

privateRegistry.createSecret

Автоматически создает новый секрет для приватного реестра

Отсутствует

privateRegistry.registryUrl

URL приватного реестра

Отсутствует

privateRegistry.registryUser

Пользователь для аутентификации в приватном реестре

Отсутствует

privateRegistry.registryPasswd

Пароль для аутентификации в приватном реестре

Отсутствует

privateRegistry.registrySecret

Имя секрета для pull image из приватного реестра

Отсутствует

longhornManager - определить параметры Longhorn Manager#

Параметр

Описание

Значение по умолчанию

longhornManager.log.format

Формат логов Longhorn Manager

plain

longhornManager.priorityClass

PriorityClass для Longhorn Manager

"longhorn-critical"

longhornManager.tolerations

Tolerations для Longhorn Manager на узлах, где разрешен запуск компонентов Longhorn. Пример конфигурации:

- key: «key»
operator: «Equal»
value: «value»
effect: «NoSchedule»

[]

longhornManager.resources

Resource requests и limits для pod Longhorn Manager

Отсутствует

longhornManager.nodeSelector

Селектор узлов для Longhorn Manager. Пример конфигурации:

label-key1: «label-value1»
label-key2: «label-value2»

{}

longhornManager.serviceAnnotations

Annotations для Longhorn Manager Service. Пример конфигурации:

annotation-key1: «annotation-value1»
annotation-key2: «annotation-value2»

{}

longhornManager.serviceLabels

Labels для Longhorn Manager Service. Пример конфигурации:

label-key1: «label-value1»
label-key2: «label-value2»

{}

longhornManager.updateStrategy.rollingUpdate.maxUnavailable

Максимальное количество недоступных Longhorn Manager pod при rolling update

"100%"

longhornDriver - определить параметры Longhorn Driver Deployer#

Параметр

Описание

Значение по умолчанию

longhornDriver.log.format

Формат логов Longhorn Driver

plain

longhornDriver.priorityClass

PriorityClass для Longhorn Driver

"longhorn-critical"

longhornDriver.tolerations

Tolerations для Longhorn Driver на узлах, где разрешен запуск компонентов Longhorn. Пример конфигурации:

- key: «key»
operator: «Equal»
value: «value»
effect: «NoSchedule»

[]

longhornDriver.nodeSelector

Селектор узлов для Longhorn Driver. Пример конфигурации:

label-key1: «label-value1»
label-key2: «label-value2»

{}

longhornUI - определить параметры Longhorn UI#

Параметр

Описание

Значение по умолчанию

longhornUI.replicas

Количество реплик Longhorn UI

2

longhornUI.priorityClass

PriorityClass для Longhorn UI

"longhorn-critical"

longhornUI.affinity

Affinity для pod Longhorn UI

podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- longhorn-ui
topologyKey: kubernetes.io/hostname

longhornUI.tolerations

Tolerations для Longhorn UI на узлах, где разрешен запуск компонентов Longhorn. Пример конфигурации:

- key: «key»
operator: «Equal»
value: «value»
effect: «NoSchedule»

[]

longhornUI.nodeSelector

Селектор узлов для Longhorn UI. Пример конфигурации:

label-key1: «label-value1»
label-key2: «label-value2»

{}

ingress - определить параметры Ingress для Longhorn UI#

Параметр

Описание

Значение по умолчанию

ingress.enabled

Создает Ingress для Longhorn UI Service

true

ingress.ingressClassName

IngressClass, который будет обрабатывать Ingress Longhorn UI

nginx

ingress.host

Hostname L7 load balancer для Longhorn UI

'longhorn.{{ include "ingress.domain" . }}'

ingress.extraHosts

Дополнительные hostnames для TLS SAN. Пример конфигурации:

extraHosts:
- longhorn.example.com
- longhorn-ui.internal.local

[]

ingress.tls

Включает TLS для Ingress Longhorn UI

true

ingress.secureBackends

Включает secure backend connection к Longhorn UI Service через port 443

false

ingress.tlsSecret

Имя TLS Secret для Ingress

ingress-tls

ingress.path

Path для доступа к Longhorn UI через Ingress

/

ingress.pathType

Тип path matching для Ingress

ImplementationSpecific

ingress.annotations

Аннотации для Ingress в формате ключ-значение. Пример конфигурации:

kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: true

Отсутствует

ingress.secrets

TLS-секреты для пользовательских сертификатов Ingress. Пример конфигурации:

- name: longhorn.local-tls
key:
certificate:

Отсутствует

httproute - определить параметры HTTPRoute для Longhorn UI#

Параметр

Описание

Значение по умолчанию

httproute.enabled

Создает HTTPRoute для Longhorn UI через Gateway API

false

httproute.parentRefs

Список Gateway references, которые должны обрабатывать HTTPRoute. Пример конфигурации:

- name: gateway-name
namespace: gateway-namespace

[]

httproute.hostnames

Список hostnames для HTTPRoute. Пример конфигурации:

- longhorn.example.com
- longhorn.example.org

[]

httproute.path

Path для доступа к Longhorn UI через HTTPRoute

/

httproute.pathType

Тип path matching для HTTPRoute

PathPrefix

httproute.annotations

Аннотации для HTTPRoute. Пример конфигурации:

annotation-key1: «annotation-value1»

{}

enablePSP - определить создание PodSecurityPolicy для Longhorn#

Параметр

Описание

Значение по умолчанию

enablePSP

Включает PodSecurityPolicy для запуска privileged pod Longhorn в Kubernetes 1.25 и старше

false

namespaceOverride - переопределить namespace установки Longhorn#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Переопределяет пространство имен релиза Longhorn

""

annotations - определить annotations для pod Longhorn Manager DaemonSet#

Параметр

Описание

Значение по умолчанию

annotations

Аннотации для pod Longhorn Manager DaemonSet

{}

serviceAccount - определить параметры ServiceAccount Longhorn#

Параметр

Описание

Значение по умолчанию

serviceAccount.annotations

Аннотации для ServiceAccount Longhorn

{}

metrics - определить параметры метрик Longhorn#

Параметр

Описание

Значение по умолчанию

metrics.serviceMonitor.enabled

Создает Prometheus ServiceMonitor для Longhorn Manager

true

metrics.serviceMonitor.additionalLabels

Дополнительные метки для ServiceMonitor

{}

metrics.serviceMonitor.annotations

Аннотации для ServiceMonitor

{}

metrics.serviceMonitor.interval

Интервал scrape метрик Prometheus

""

metrics.serviceMonitor.scrapeTimeout

Тайм-аут scrape-запроса Prometheus

""

metrics.serviceMonitor.relabelings

Relabeling rules для target metadata labels

[]

metrics.serviceMonitor.metricRelabelings

Metric relabeling rules для samples перед ingestion

[]

openshift - определить параметры интеграции Longhorn с OpenShift#

Параметр

Описание

Значение по умолчанию

openshift.enabled

Включает интеграцию Longhorn с OpenShift

false

openshift.ui.route

Маршрут для соединений между Longhorn и OpenShift web console

"longhorn-ui"

openshift.ui.port

Порт доступа к OpenShift web console

443

openshift.ui.proxy

Порт proxy для доступа к OpenShift web console

8443

enableGoCoverDir - определить генерацию code coverage profiles#

Параметр

Описание

Значение по умолчанию

enableGoCoverDir

Включает генерацию Go coverage profiles для Longhorn

false

extraObjects - определить дополнительные Kubernetes-манифесты#

Параметр

Описание

Значение по умолчанию

extraObjects

Список дополнительных объектов Kubernetes-manifest, добавляемых чарты

[]

Параметр

Описание

Значение по умолчанию

consoleLink.enabled

Включает ConsoleLink для отображения Longhorn в DropApp Console

true