Files
K3S/addons/velero/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

131 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Velero
Резервное копирование и восстановление Kubernetes кластера и PVC. Сохраняет все ресурсы кластера (поды, сервисы, ConfigMap, PVC) и данные томов в S3/MinIO. Поддерживает расписание и TTL для автоматической очистки.
## Быстрый старт
```yaml
# group_vars/all/addons.yml
addon_velero: true
addon_minio: true # S3 backend для бэкапов
velero_schedule_enabled: true
velero_schedule_cron: "0 2 * * *" # ежедневно в 02:00
velero_schedule_ttl: "720h" # хранить 30 дней
```
Секреты в `vault.yml`:
```yaml
vault_velero_s3_access_key: "minioadmin" # = vault_minio_root_user
vault_velero_s3_secret_key: "changeme" # = vault_minio_root_password
```
```bash
make addon-velero
```
## Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
| `velero_s3_bucket` | `velero` | Имя бакета MinIO |
| `velero_s3_url` | MinIO internal | S3 endpoint |
| `velero_schedule_enabled` | `true` | Автоматическое расписание |
| `velero_schedule_cron` | `0 2 * * *` | Cron расписание |
| `velero_schedule_ttl` | `720h` | TTL бэкапов |
## Velero CLI
```bash
# Установить CLI (на локальную машину)
brew install velero # macOS
# или скачать с https://github.com/vmware-tanzu/velero/releases
# Настроить kubeconfig
export KUBECONFIG=$(pwd)/kubeconfig
# Статус
velero version
velero get backups
velero get schedules
```
## Ручной бэкап
```bash
# Весь кластер
velero backup create my-backup
# Конкретный namespace
velero backup create my-app-backup --include-namespaces my-app
# С volume data
velero backup create full-backup --snapshot-volumes
# Статус бэкапа
velero backup describe my-backup
velero backup logs my-backup
```
## Восстановление
```bash
# Список бэкапов
velero get backups
# Восстановить всё
velero restore create --from-backup my-backup
# Восстановить конкретный namespace
velero restore create --from-backup my-backup \
--include-namespaces my-app
# Восстановить в другой namespace
velero restore create --from-backup my-backup \
--namespace-mappings old-namespace:new-namespace
# Статус восстановления
velero restore describe <restore-name>
```
## Расписание бэкапов
```bash
# Список расписаний
velero get schedules
# Запустить расписание вручную
velero backup create --from-schedule daily-backup
```
## Исключить ресурсы из бэкапа
```yaml
# Аннотация на namespace или ресурс:
metadata:
annotations:
velero.io/exclude-from-backup: "true"
```
## Внешний S3 (не MinIO)
```yaml
velero_s3_url: "https://s3.amazonaws.com"
velero_s3_bucket: "my-cluster-backups"
velero_s3_region: "us-east-1"
velero_s3_force_path_style: false
```
## Диагностика
```bash
kubectl get pods -n velero
kubectl logs -n velero deployment/velero -f
velero backup describe my-backup --details
```
## Официальные ресурсы
- Официальный сайт: [https://velero.io/](https://velero.io/)
- Официальная документация: [https://velero.io/docs/](https://velero.io/docs/)
- Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/vmware-tanzu/velero](https://artifacthub.io/packages/helm/vmware-tanzu/velero)