Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
100 lines
2.6 KiB
Markdown
100 lines
2.6 KiB
Markdown
# Longhorn
|
||
|
||
Distributed block storage для Kubernetes. Хранит данные реплицированно на дисках нод кластера. Поддерживает снимки, резервное копирование в S3/NFS, live migration томов.
|
||
|
||
## Быстрый старт
|
||
|
||
```yaml
|
||
# group_vars/all/addons.yml
|
||
addon_longhorn: true
|
||
```
|
||
|
||
```bash
|
||
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
|
||
|
||
```yaml
|
||
apiVersion: v1
|
||
kind: PersistentVolumeClaim
|
||
metadata:
|
||
name: db-data
|
||
spec:
|
||
accessModes: [ReadWriteOnce]
|
||
storageClassName: longhorn
|
||
resources:
|
||
requests:
|
||
storage: 10Gi
|
||
```
|
||
|
||
## Настройка реплик для конкретного PVC
|
||
|
||
```yaml
|
||
apiVersion: v1
|
||
kind: PersistentVolumeClaim
|
||
metadata:
|
||
name: critical-data
|
||
annotations:
|
||
longhorn.io/numberOfReplicas: "3"
|
||
spec:
|
||
accessModes: [ReadWriteOnce]
|
||
storageClassName: longhorn
|
||
resources:
|
||
requests:
|
||
storage: 20Gi
|
||
```
|
||
|
||
## UI через Ingress
|
||
|
||
```yaml
|
||
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:
|
||
```bash
|
||
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)
|
||
|
||
```bash
|
||
kubectl label node rpi01 node.longhorn.io/create-default-disk=false
|
||
```
|
||
|
||
## Диагностика
|
||
|
||
```bash
|
||
kubectl get pods -n longhorn-system
|
||
kubectl get pv,pvc -A
|
||
# Longhorn API:
|
||
kubectl -n longhorn-system port-forward svc/longhorn-frontend 8080:80
|
||
```
|
||
## Официальные ресурсы
|
||
|
||
- Официальный сайт: [https://longhorn.io/](https://longhorn.io/)
|
||
- Официальная документация: [https://longhorn.io/docs/](https://longhorn.io/docs/)
|
||
- Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/longhorn/longhorn](https://artifacthub.io/packages/helm/longhorn/longhorn)
|