Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
Velero
Резервное копирование и восстановление Kubernetes кластера и PVC. Сохраняет все ресурсы кластера (поды, сервисы, ConfigMap, PVC) и данные томов в S3/MinIO. Поддерживает расписание и TTL для автоматической очистки.
Быстрый старт
# 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:
vault_velero_s3_access_key: "minioadmin" # = vault_minio_root_user
vault_velero_s3_secret_key: "changeme" # = vault_minio_root_password
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
# Установить 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
Ручной бэкап
# Весь кластер
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
Восстановление
# Список бэкапов
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>
Расписание бэкапов
# Список расписаний
velero get schedules
# Запустить расписание вручную
velero backup create --from-schedule daily-backup
Исключить ресурсы из бэкапа
# Аннотация на namespace или ресурс:
metadata:
annotations:
velero.io/exclude-from-backup: "true"
Внешний S3 (не MinIO)
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
Диагностика
kubectl get pods -n velero
kubectl logs -n velero deployment/velero -f
velero backup describe my-backup --details
Официальные ресурсы
- Официальный сайт: https://velero.io/
- Официальная документация: https://velero.io/docs/
- Версии Helm chart / ПО: https://artifacthub.io/packages/helm/vmware-tanzu/velero