Перейти к содержанию

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.

Восстановление

Порядок:

  1. Секреты — восстановить tokenization-vault-secrets (мастер-ключ), keycloak-auth и доступы к инфре.
  2. Инфраструктура — поднять PostgreSQL, Redis, MinIO, OPA, Keycloak.
  3. Данныеpg_restore дампов в соответствующие БД; mc mirror бакета policies обратно в MinIO.
  4. Сервисы — выкатить продуктовые сервисы (Wizard install / update).

Версия схемы БД

Восстанавливайте дамп на ту же (или совместимую) версию инсталляции: Alembic-миграции необратимы, восстановление свежего дампа на старую версию схемы приведёт к рассинхрону. См. Обновление.

Аварийное восстановление (DR)

Для восстановления в другом кластере/регионе храните offsite-копии всех трёх дампов БД, бакета policies и (отдельно) мастер-ключа токенизации. Регулярно проверяйте восстановимость бэкапов на тестовом стенде — резервная копия без проверенного восстановления не считается рабочей.