Восстановление из архивных копий компонентов EVTP#
Предусловия: необходимо заполнить параметры в конфигурационном файле vars.yml
в разделе
flink:
backup_installdir_to:— директория создания архивных копий для директории установки EVTP;
Ручной способ
На сервере, с которого производилась установка, выполните команду:
ansible-playbook -i inventories/<ID>/inventory flink.yml --ask-vault-pass -t backup_restore -l <host>
, где:
ID— имя созданного inventory;host— доп. параметр для указания конкретных hosts, если требуется выполнение на конкретных hosts. Данной операцией производится восстановление директории установки EVTP из архива.
При помощи Jenkins
Для восстановления EVTP из архивной копии необходимо запустить задание Jenkins SYN_custom (поставляется в дистрибутиве) с выбором playbook
flink.ymlc тегом backup_restore. Результатом будет являться восстановление директории установки EVTP из архива, помещенного в указанную в файле vars.yml директорию.
Настраиваемые параметры задания Jenkins SYN_custom:
job_config_renew — параметр, использующийся для перенастройки задания Jenkins. Его необходимо включить, если был добавлен новый inventory. Меняет значения по умолчанию всех параметров. Сохраняет предыдущее состояние параметров inventories_repo, inventories_branch, inventories_path. Обновляет список тегов для всех playbook. По умолчанию не указывается;
jenkins_slave — Slave Jenkins;
ansible_branch — ветка скриптов развертывания;
ansible_version — версия используемого Ansible;
nexus_user_cred — ID credential типа username with password для выкачивания дистрибутива. При задании параметра secman_url - полный путь в HashiCorp Vault до имени пользователя и пароля. Например
{ID credential типа vault app role для получение секретов из SecMan}|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/nexus:{user},{password};vault_cred — ID credential типа secret file со строкой для расшифровки паролей (ansible vault) (можно указывать несколько через запятую). При задании параметра secman_url - полный путь в HashiCorp Vault до пароля. Например:
{ID credential }|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/vault:{password_1},{ID credential _2}|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/vault:{password_2}. В качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myVaultBase64;server_ssh_cred — ID credential типа ssh key для подключения к серверам. При задании параметра secman_url - полный путь в HashiCorp Vault. Например:
{ID credential типа vault app role для получение секретов из SecMan}|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/ssh:{user},{key},{passphrase}. В качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64;secman_url — URL для подключения к HashiCorp Vault;
jdk_tool — указание Jenkins Tool с необходимой версией JDK;
inventory — выбрать кластер, для которого необходимо получить список топиков;
emailto — список адресов электронной почты, на которые придет письмо с результатом выполнения задания Jenkins;
playbook — выбрать необходимый playbook;
tags — список тегов для запуска;
flinkJobs — используется фильтр с конкретными flink job;
select_all_hosts — запуск задания Jenkins на всех hosts из указанного inventory;
only_on_host — отметить галочками необходимые hosts;
custom_vault_password — указываем, если нужен ручной ввод пароля для Ansible Vault;
ssl_verify — проверить, являются ли сертификаты HashiCorp Vault/Nexus доверенными;
second_hand_approve — подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;
inventories_repo — репозиторий с inventory (ssh://);
inventories_branch — ветка репозитория;
inventories_path — путь до inventories от корня репозитория.
Если не выбран ни один из параметров only_on_host, select_all_hosts выполнение задания Jenkins прервется с ошибкой Не выбраны хосты.