Резервне копіювання та відновлення екземпляра реєстру

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

1. Створення резервної копії реєстру (backup)

Після успішного розгортання реєстру та регламентів адміністратор Платформи має можливість створити резервну копію реєстру, що буде збережена до захищеного сховища бекапів (для прикладу, Minio).

Для цього необхідно виконати наступні кроки:

  1. Увійдіть до Control Plane, використовуючи створені попередньо створені логін та пароль.

  2. Перейдіть до розділу Реєстри та оберіть реєстр для резервного копіювання.

  3. Відкрийте секцію Конфігурація на сторінці Перегляд конфігурації створеного реєстру, натисніть на посилання до Jenkins (CI) Платформи та у вкладці Всі (All) знайдіть job із назвою Create-registry-backup-backup-test (див. зображення нижче).

    control plane create backup job

  4. Відкрийте job та натисніть Зібрати з параметрами, щоб запустити Create-registry-backup-backup-test job.

    control plane create backup 01

  5. Натисніть Зібрати.

    control plane create backup 02 control plane create backup 03

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

Резервне копіювання реплікацій S3-бакетів

Після того, як пайплайн створення резервної копії відпрацював, він створює джоби реплікацій бакетів. Час запуску таких джоб за замовчуванням стоїть 19:30 (UTC). Тому якщо потрібно запустити пайплайн раніше, можна змінити цей розклад вручну:

  1. Виконайте вхід в OKD.

  2. У верхньому правому куті натисніть Copy login command > Display Token.

  3. У полі Log in with this token скопіюйте токен для входу в OpenShift через термінал. Він може виглядати так:

    Приклад oc login
    oc login --token=sha256~gQa0bxg_aaabbbcccd_D88470E-aabBcQuCn9keIM4I --server=https://api.envone.dev.registry.eua.gov.ua:1234
  4. Відкрийте OpenShift CLI та виконайте скопійований рядок.

    Детальніше про OpenShift CLI читайте в інструкції Що необхідно для початку роботи.
  5. Запустіть створення бекапів реплікацій S3-бакетів з тим розкладом, який потрібний користувачу. Для цього виконайте наступну команду:

    namespace="abc-02";schedule='19 12 * * *'; for cronJob in `oc get cronjob -n velero -o custom-columns="NAME:.metadata.name" --no-headers | grep "${namespace}"`;do oc -n velero patch cronjob/$cronJob -p '{"spec":{"schedule":"'$schedule'"}}'; echo 1;done
    Замініть значення namespace="abc-02" назвою вашого реєстру. Наприклад, namespace="test-registry".
Ознайомтеся також із налаштуванням автоматичного налаштування реплікацій S3-бакетів на сторінці Керування розкладом резервного копіювання реєстру.

2. Відновлення реєстру (Restore)

  • Увійдіть до Control Plane, використовуючи створені попередньо логін та пароль.

  • Перейдіть до розділу Реєстри та оберіть реєстр, який необхідно відновити.

  • Перейдіть до Jenkins (CI) платформи та у вкладці Всі (All) знайдіть Restore-registry-backup-test job (див. зображення нижче).

control plane create restore

  • Відкрийте job та натисніть Зібрати з параметрами, щоб запустити Restore-registry-backup-backup-test job.

control plane create restore 01

  • Натисніть Зібрати.

control plane create restore 02

  • Далі, на кроці введення параметрів, оберіть версію резервної копії для відновлення. Для цього перейдіть до виводу консолі (Секція Console Output на панелі зліва) та натисніть Input Requested.

control plane create restore 03

  • Оберіть версію резервної копії зі списку та натисніть Proceed.

control plane create restore 04

  • У разі успішного виконання job Restore-registry-backup-test, реєстр буде відновлено до стану обраної версії резервної копії.

control plane create restore 05