VK Dev Platform logo
Помощь
Обновлена 24 июля 2024 г. в 15:37

Плейбуки

Gitlab

Создание резервной копии

Для принудительного создания резервной копии Gitlab выполните следующую команду:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/gitlab-backup.yaml

Восстановление из резервной копии

Резервные копии Gitlab именуются в S3 с временной меткой и версией Gitlab.

Дополнительную информацию можно найти в официальной документации Gitlab.

Для восстановления Gitlab из S3 необходимо указать значение переменной gitlab_restore_timestamp в формате YYYY-MM-DD_GITLABVERSION.

Пример
gitlab_restore_timestamp="1700644874_2023_11_22_16.5.0-ee"

Для запуска плейбука для восстановления Gitlab выполните следующую команду:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/gitlab-restore.yaml -e gitlab_restore_timestamp="1700644874_2023_11_22_16.5.0-ee"

Keycloak

Создание резервной копии

Для принудительного создания резервной копии Keycloak выполните следующую команду:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/keycloak-backup.yaml

При обновлении Keycloak рекомендуется сделать экспорт realm. Для этого добавьте переменную keycloak_realm_backup:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/keycloak-backup.yaml -e keycloak_realm_backup='True'

Восстановление из резервной копии

Для восстановления Keycloak из S3 необходимо восстановить резервную копию базы данных. Для этого нужно указать значение переменной zalando_db_logical_backup_restore_timestamp в формате YYYY-MM-DD-HH:MM:SS.

Пример
zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

Запуск playbook для восстановления Keyloack:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/keycloak-restore.yaml -e zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

Nexus

Создание резервной копии

Для принудительного создания резервной копии Nexus выполните следующую команду:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/nexus-backup.yaml

Восстановление из резервной копии

Резервные копии Nexus именуются и загружаются в S3 с временной меткой в формате YYYY-MM-DD-HH-MM-SS.

Для восстановления Nexus из S3 необходимо указать значение переменной nexus_restore_timestamp в формате YYYY-MM-DD-HH-MM-SS.

Пример
nexus_restore_timestamp="2023-11-01-10:45:00"

Запуск playbook для восстановления Nexus:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/nexus-restore.yaml -e nexus_restore_timestamp="2023-11-01-10:45:00"

Samsara

Создание резервной копии

Для создания резервной копии Samsara необходимо сделать дамп БД.

Запуск создания резервной копии Samsara:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/samsara-backup.yaml

Восстановление из резервной копии

Для восстановления Samsara необходимо восстановить резервную копию БД, а затем запустить playbook playbooks/maintenance/samsara-restore.yaml.

При запуске плейбука необходимо указать требуемую временную метку имеющейся резервной копии.

Пример
zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

Запуск playbook для восстановления Samsara:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/samsara-restore.yaml -e zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

SonarQube

Создание резервной копии

Для принудительного создания резервной копии Sonarqube необходимо сделать дамп БД согласно официальной документации.

Запуск создания резервной копии Sonarqube:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/sonarqube-backup.yaml

Восстановление из резервной копии

Для восстановления Sonarqube необходимо восстановить резервную копию БД, а затем запустить playbook playbooks/maintenance/sonarqube-restore.yaml.

При запуске плейбука необходимо указать требуемую временную метку имеющейся резервной копии.

Пример
zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

Запуск playbook для восстановления Sonarqube:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/sonarqube-restore.yaml -e zalando_db_logical_backup_restore_timestamp="2024-01-10-23:27:20"

Zalando

Создание резервной копии

Для принудительного создания резервной копии Postgres кластера выполните следующую команду:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/zalando-backup.yaml

Восстановление из резервной копии

В данной Ansible роли реализовано два способа восстановления кластера:

  • Восстановление в текущий кластер.
  • Восстановление клонированием кластера.

Для восстановления из S3 к состоянию кластера на определённое время укажите значение переменной zalando_restore_pitr_timestamp в формате YYYY-MM-DDTHH:MM:SS+00:00 (UTC).

Пример Point In Time Recovery для часового пояса GTM+3
zalando_restore_pitr_timestamp="2023-11-01T10:45:00+03:00"

Восстановление в текущий кластер

Для восстановления в текущий кластер необходимо установить значение переменной zalando_cluster_restore_in_place равным true.

Затем запустить playbook для восстановления:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/zalando-restore.yaml -e zalando_restore_pitr_timestamp="2023-11-01T10:45:00+03:00"

Восстановление клонированием кластера

Для восстановления в новый кластер клонированием текущего необходимо установить значение переменной zalando_cluster_restore_by_clone равным true.

Затем запустить playbook для восстановления:

$ ansible-playbook  -i YOUR_INVENTORY_HERE --vault-id YOUR_VAULT_HERE playbooks/maintenance/zalando-restore.yaml -e zalando_restore_pitr_timestamp="2023-11-01T10:45:00+03:00"