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

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

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

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

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

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

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

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

    Детальніше про пайплайни — див. Перевірка відомостей про розгортання реєстру.

    control plane create backup job

  4. Відкрийте папку та натисніть Build with parameters, щоб запустити пайплайн Create-registry-backup.

    control plane create backup 01

  5. Натисніть Build.

    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)

Виконайте наступні кроки, щоб відновити реєстр зі створеної резервної копії:
  1. Увійдіть до Control Plane, використовуючи створені попередньо логін та пароль.

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

  3. Перейдіть до Jenkins (CI) Платформи та на вкладці All знайдіть пайплайн Restore-registry-<registry-name>, де <registry-name> — назва реєстру (див. зображення нижче).

    control plane create restore

  4. Відкрийте папку та натисніть Build with parameters, щоб запустити пайплайн Restore-registry.

    control plane create restore 01

  5. Натисніть Build.

    control plane create restore 02

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

    control plane create restore 03

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

    control plane create restore 04

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

    control plane create restore 05