Files
K3S/addons/longhorn/README.md
Sergey Antropoff 38aaadbfb1 docs: sync addon docs with explicit external/internal service modes
Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
2026-04-29 23:21:04 +03:00

2.6 KiB
Raw Permalink Blame History

Longhorn

Distributed block storage для Kubernetes. Хранит данные реплицированно на дисках нод кластера. Поддерживает снимки, резервное копирование в S3/NFS, live migration томов.

Быстрый старт

# group_vars/all/addons.yml
addon_longhorn: true
make addon-longhorn

Параметры

Переменная Умолч. Описание
longhorn_default_replica_count 2 Количество реплик по умолчанию
longhorn_data_path /var/lib/longhorn Путь данных на нодах
longhorn_storage_class_default false Сделать default StorageClass
longhorn_ingress_enabled false UI через Ingress

Использование в PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: db-data
spec:
  accessModes: [ReadWriteOnce]
  storageClassName: longhorn
  resources:
    requests:
      storage: 10Gi

Настройка реплик для конкретного PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: critical-data
  annotations:
    longhorn.io/numberOfReplicas: "3"
spec:
  accessModes: [ReadWriteOnce]
  storageClassName: longhorn
  resources:
    requests:
      storage: 20Gi

UI через Ingress

longhorn_ingress_enabled: true
longhorn_ingress_host: "longhorn.example.com"
longhorn_ingress_tls: true

Резервное копирование в MinIO

В Longhorn UI → Settings → Backup Target:

s3://longhorn-backup@us-east-1/

Secret:

kubectl create secret generic longhorn-backup-secret \
  --from-literal=AWS_ACCESS_KEY_ID=minioadmin \
  --from-literal=AWS_SECRET_ACCESS_KEY=changeme \
  --from-literal=AWS_ENDPOINTS=http://minio.minio.svc.cluster.local:9000 \
  -n longhorn-system

Исключить ноду из storage (RPi)

kubectl label node rpi01 node.longhorn.io/create-default-disk=false

Диагностика

kubectl get pods -n longhorn-system
kubectl get pv,pvc -A
# Longhorn API:
kubectl -n longhorn-system port-forward svc/longhorn-frontend 8080:80

Официальные ресурсы