← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 51: Backup маніфестів через kubectl

Технологія: Kubernetes

Номер лабораторної: 51 · Рівень: middle

Тема: Резервне копіювання yaml ресурсів

Повний опис / сценарій лабораторної:

Мета: навчитися робити мінімальний backup yaml ресурсів для можливості ручного відновлення.



Крок 1. Визначити критичні namespace.

Пояснення: обери бізнес namespace які потребують резервного копіювання конфігів.



Крок 2. Експортувати всі deployment у один файл.

Команда: kubectl get deploy -n YOUR_NS -o yaml > deploy-backup.yaml

Пояснення: так зберігаються всі deployment у текстовому вигляді.



Крок 3. Аналогічно зберегти service.

Команда: kubectl get svc -n YOUR_NS -o yaml > svc-backup.yaml

Пояснення: ці файли можна тримати у git репозиторії.



Крок 4. Зберегти configmap і secret без чутливих значень.

Пояснення: для secret можливо варто зберігати тільки шаблони без реальних паролів.



Крок 5. Створити структуру директорій backup.

Пояснення: розклади файли по папках за namespace і типами ресурсів.



Крок 6. Зімітувати втрату одного deployment.

Команда: kubectl delete deployment SOME_DEPLOY -n YOUR_NS

Пояснення: припустимо що ресурс видалили помилково.



Крок 7. Відновити deployment з backup yaml.

Команда: kubectl apply -f deploy-backup.yaml -n YOUR_NS

Пояснення: переконайся що потрібний deployment повернувся.



Крок 8. Перевірити працездатність сервісу.

Пояснення: зроби http запит або інший тест до відновленого сервісу.



Крок 9. Додати ці дії до скрипта.

Пояснення: напиши простий shell скрипт який раз на день зберігатиме yaml у каталог з датою.



Крок 10. Міні звіт.

Завдання: опиши обмеження такого підходу порівняно з повноцінним backup etcd або velero.