Керування розкладом створення резервних копій центральних компонентів та часом їх зберігання

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Платформа дозволяє керувати розкладом створення резервних копій центральних компонентів, а також часом зберігання таких резервних копій у сховищі бекапів.

Резервні копії компонентів створюються за допомогою інструмента velero та зберігаються у захищеному сховищі бекапів minio поза межами кластера Платформи.

Розклад резервного копіювання налаштовується у форматі unix-cron на інтерфейсі адміністративної панелі Control Plane.

Час зберігання резервних копій має бути більшим за або дорівнювати одиниці, бути цілим числом та не містити спеціальних символів.

Перелік центральних компонентів, для яких можна налаштувати резервне копіювання за розкладом та час зберігання резервних копій:
  • Сховище артефактів — центральний компонент nexus.

  • Панель керування Платформою та реєстрами — центральний компонент control-plane.

  • Керування користувачами — центральний компонент user-management.

  • Моніторинг — центральний компонент monitoring.

Значення зберігаються до конфігурації values.yaml у репозиторії cluster-mgmt.

Відповідні параметри застосовуються завдяки Jenkins-пайплайну MASTER-Build-cluster-mgmt.

2. Налаштування розкладу

Важливо планувати створення резервних копій на час, коли ваша система найменш завантажена. Рекомендуємо робити це вночі. Так все пройде плавно і без зайвих незручностей.
  1. Увійдіть до консолі Control Plane як адміністратор Платформи.

    update cluster mgmt 01

  2. Перейдіть до розділу Керування платформою та натисніть РЕДАГУВАТИ.

    cp backup schedule 1

  3. Перейдіть до секції Розклад резервного копіювання та виконайте налаштування для необхідних центральних компонентів.

    Наразі це:

    1. Сховище артефактів — центральний компонент nexus.

    2. Панель керування Платформою та реєстрами — центральний компонент control-plane.

    3. Керування користувачами — центральний компонент user-management.

    4. Моніторинг — центральний компонент monitoring.

    cp backup schedule 2

    Розклад резервного копіювання налаштовується у форматі unix-cron та визначається за серверним часом — UTC.

    Якщо ви конфігуруєте розклад для України, то необхідно враховувати зміщення на +2 години (UTC+2) у зимовий час та +3 години (UTC+3) у літній час.

    Скористайтеся ресурсом https://crontab.guru/ — простим та зручним редактором для виразів cron, щоб краще зрозуміти логіку налаштувань розкладу.

  4. Налаштуйте розклад для компонента Nexus та задайте час зберігання бекапів у днях:

    • У полі Розклад вкажіть, наприклад, таке значення: 5 11 * * MON-FRI. Використовуйте пробіл як роздільник.

      Це означатиме, що резервна копія для компонента nexus створюватиметься кожного дня, з понеділка по п’ятницю, об 11:05 за часом UTC (13:05 за київським часом).

    • У полі Час зберігання в днях вкажіть, наприклад, 5. Тобто бекап зберігатиметься у сховищі протягом 5 днів.

    cp backup schedule 3

  5. Налаштуйте розклад для компонента Control Plane та задайте час зберігання бекапів у днях:

    • У полі Розклад вкажіть, наприклад, таке значення: 6 11 * * MON-FRI. Використовуйте пробіл як роздільник.

      Це означатиме, що резервна копія для компонента control-plane створюватиметься кожного дня, з понеділка по п’ятницю, об 11:06 за часом UTC (13:06 за київським часом).

    • У полі Час зберігання в днях вкажіть, наприклад, 6. Тобто бекап зберігатиметься у сховищі протягом 6 днів.

    cp backup schedule 4

  6. Налаштуйте розклад для компонента User Management та задайте час зберігання бекапів у днях:

    • У полі Розклад вкажіть, наприклад, таке значення: 7 11 * * MON-FRI. Використовуйте пробіл як роздільник.

      Це означатиме, що резервна копія для компонента user-management створюватиметься кожного дня, з понеділка по п’ятницю, об 11:07 за часом UTC (13:07 за київським часом).

    • У полі Час зберігання в днях вкажіть, наприклад, 7. Тобто бекап зберігатиметься у сховищі протягом 7 днів.

    cp backup schedule 5

  7. Налаштуйте розклад для компонента Monitoring та задайте час зберігання бекапів у днях:

    • У полі Розклад вкажіть, наприклад, таке значення: 7 11 * * MON-FRI. Використовуйте пробіл як роздільник.

      Це означатиме, що резервна копія для компонента monitoring створюватиметься кожного дня, з понеділка по п’ятницю, об 11:07 за часом UTC (13:07 за київським часом).

    • У полі Час зберігання в днях вкажіть, наприклад, 8. Тобто бекап зберігатиметься у сховищі протягом 8 днів.

    cp backup schedule 6

  8. Натисніть ПІДТВЕРДИТИ, щоб зберегти зміни.

    В результаті сформується запит на оновлення зі статусом Новий.

  9. Поверніться до розділу Керування платформою, прокрутіть бігунок униз сторінки та знайдіть секцію Запити на оновлення.

    cp backup schedule 7

  10. Відкрийте сформований запит, натиснувши іконку перегляду — 👁.

    Запропоновані зміни зберігаються до конфігурації values.yaml у репозиторії cluster-mgmt у разі підтвердження.
  11. У новому вікні зіставте 2 версії змін, переконайтеся, що внесені вами дані вірні, та натисніть Підтвердити. Ви також можете відразу відхилити зміни до конфігурації, натиснувши Відхилити.

    У вікні для порівняння можна зручно перевірити 2 версії змін: поточну (зліва) та нову (справа).

    cp backup schedule 8

    cp submit mr 3

    В результаті запит набуває статусу Підтверджено. У встановлений час запускається Jenkins-пайплайн MASTER-Build-cluster-mgmt. Він застосовує параметри заданої конфігурації та створює резервні копії у сховищі бекапів.

  12. Зачекайте, доки виконається збірка коду. Це може зайняти декілька хвилин.

    Ви можете перевірити поточний статус та результат виконання за посиланням CI на інтерфейсі.

    cp backup schedule 9

    cp backup schedule 10

3. Перевірка створених бекапів

У визначену дату та час мають бути створені резервні копії, згідно із розкладом, вказаним у конфігурації (див. — Налаштування розкладу).

Перевірити це можна наступним чином:
  1. Увійдіть до Openshift-консолі як адміністратор Платформи.

  2. Отримайте API-токен для доступу до кластера через oc login:

    • Натисніть Copy Login Command.

      cp backup schedule 11

    • Увійдіть через Keycloak.

      cp backup schedule 12

    • Натисніть Display Token (показати токен).

      cp backup schedule 13

    • Скопіюйте oc login API-токен.

      cp backup schedule 14

  3. Відкрийте термінал/консоль, вставте отриманий токен та виконайте вхід.

    cp backup schedule 15

  4. Отримайте список бекапів за допомогою команди:

    velero get backups

    В результаті отримуємо список бекапів центральних компонентів, а саме їх назви, статуси, дату та час створення, а також час, протягом якого ці бекапи зберігатимуться у сховищі.

    cp backup schedule 16

    Зверніть увагу, що час створення бекапів показано не серверний (UTC), а цільовий, зі зміщенням (UTC+2, за Києвом).

Після закінчення строку зберігання, система бекапування видаляє застарілі резервні копії.