Kubernetes — резервное копирование и восстановление¶
Что резервировать¶
| Компонент | Содержимое | Критичность |
|---|---|---|
PostgreSQL (3 БД: admin_api_db, profiles_registry, vault_db) |
профили, провайдеры, пользователи, события, аудит, отчёты, данные токенизации | высокая |
| MinIO (S3) | OPA policy bundle (бакет policies) |
средняя |
Секрет tokenization-vault-secrets / VAULT_MASTER_KEY |
мастер-ключ токенизации ПДн | критическая |
| Прочие секреты | keycloak-auth, доступы к инфре, лицензия |
критическая |
Мастер-ключ токенизации (VAULT_MASTER_KEY)
Без секрета tokenization-vault-secrets / VAULT_MASTER_KEY токены ПДн
невосстановимы — даже при наличии резервной копии БД vault_db.
Храните копию ключа отдельно и безопасно (вне кластера).
152-ФЗ
БД vault_db и токены содержат персональные данные. Резервные копии и
мастер-ключ — это носители ПДн: их хранение, передача и уничтожение
должны соответствовать требованиям 152-ФЗ (защита, ограничение доступа,
сроки хранения).
Резервное копирование¶
# PostgreSQL — pg_dump каждой из 3 БД через kubectl exec
for db in admin_api_db profiles_registry vault_db; do
kubectl -n aigate exec deploy/postgres -- \
pg_dump -U postgres -d "$db" -Fc > "${db}.dump"
done
# MinIO — зеркалирование бакета policies (mc настроен на алиас aigate)
mc mirror aigate/policies ./backup/policies
# Секреты — экспорт критичных секретов
kubectl -n aigate get secret tokenization-vault-secrets keycloak-auth \
-o yaml > secrets-backup.yaml
Для PVC инфраструктурных компонентов (PostgreSQL/MinIO в режиме
persistence: true) допустимы снапшоты тома через Velero или
CSI snapshots. Регулярность бэкапов — через CronJob с заданием
pg_dump / mc mirror.
Восстановление¶
Порядок:
- Секреты — восстановить
tokenization-vault-secrets(мастер-ключ),keycloak-authи доступы к инфре. - Инфраструктура — поднять PostgreSQL, Redis, MinIO, OPA, Keycloak.
- Данные —
pg_restoreдампов в соответствующие БД;mc mirrorбакетаpoliciesобратно в MinIO. - Сервисы — выкатить продуктовые сервисы (Wizard
install/update).
Версия схемы БД
Восстанавливайте дамп на ту же (или совместимую) версию инсталляции: Alembic-миграции необратимы, восстановление свежего дампа на старую версию схемы приведёт к рассинхрону. См. Обновление.
Аварийное восстановление (DR)¶
Для восстановления в другом кластере/регионе храните offsite-копии всех трёх
дампов БД, бакета policies и (отдельно) мастер-ключа токенизации. Регулярно
проверяйте восстановимость бэкапов на тестовом стенде — резервная копия без
проверенного восстановления не считается рабочей.