Автоматизация бэкапов в Kubernetes: пошаговое руководство
Бэкап, который никогда не проверялся на восстановление, с практической точки зрения не является бэкапом. Это первое, с чего мы начинаем любую настройку резервного копирования.
Для stateful-нагрузок в Kubernetes мы используем снапшоты персистентных томов на уровне CSI-драйвера плюс логические дампы БД — снапшот тома быстрый, но логический дамп проще проверить и восстановить точечно.
Расписание бэкапов настраивается декларативно и хранится в том же репозитории, что и остальная инфраструктура — это исключает ситуацию, когда конфигурация бэкапов «живёт только в голове одного инженера».
Критически важный шаг — хранение бэкапов вне кластера и вне того же облачного аккаунта, где крутится продакшен: недоступность кластера не должна автоматически означать недоступность бэкапов.
Раз в квартал мы разворачиваем бэкап в изолированное окружение и проверяем, что приложение реально стартует на восстановленных данных — без этого шага уверенности в бэкапах быть не может.