Удаление#

При установке на ВМ#

С помощью ansible#

Для удаления EVTA выполнить команду:

ansible-playbook -i inventories/<ID>/inventory reactive_stream_adapter_vm.yml -t uninstall --ask-vault-pass

, где ID — имя недавно созданного inventory.

Удаление EVTA будет производиться со всех серверов из inventory.

С помощью Jenkins#

Для удаления компонента EVTA необходимо запустить Jenkins job reactive_stream_adapter_vm с выбором playbook reactive_stream_adapter.yml c тегом uninstall.

Настраиваемые параметры reactive_stream_adapter_vm:

  • job_config_renew — отвечает за обновление Jenkins Job. При установке приложения должен быть выключен (false). Для обновления текущих параметров и сохранения значений по умолчанию должен быть включен (true);

  • inventory — имя inventory для установки;

  • nexusUrl — ссылка на конфигурационный дистрибутив (при отсутствии — оставить поле пустым);

  • nexusDistribUrl — ссылка на дистрибутив reactive_stream_adapter;

  • playbook — необходимый сценарий установки, где:

    • reactive_stream_adapter_vm.yml — запуск EVTA на ВМ;

    • reactive_stream_adapter_vm_system_service.yml — создание системных сервисов EVTA;

    • reactive_stream_adapter_vm_user_service.yml — создание пользовательских сервисов EVTA;

    • reencrypt_password.yml — перешифрование паролей.

  • tags — список тегов. При пустом значении выполняется полная установка компонента:

    • run_only — при указании появляется выбор адаптеров (для дальнейших действий) без указания — на все адаптеры;

    • adapter_already_installed — выполняется установка и запуск EVTA из конфигурационного дистрибутива без выкачивания дистрибутива EVTA из nexusDistribUrl;

    • backup — создание backup;

    • backup_remove — удаление backup;

    • backup_restore — восстановление из backup;

    • distribute — распаковка дистрибутива nexusDistribUrl;

    • install — запуск блока установки;

    • restart — перезапуск сервиса;

    • start — запуск сервиса;

    • status — статус установки сервиса; также используется для вывода результата обращения к endpoint дискаверинга EVTA (информация в логах);

    • stop — остановка сервиса;

    • uninstall — удаление сервиса.

  • adapterList — выбор адаптера (при наличии тега run_only);

  • select_all_hosts — выполнение playbook на всех серверах из выбранного inventory;

  • only_on_host — выполнение playbook на выбранных серверах;

  • jenkins_slave — выбор Jenkins Slave;

  • jdk_tool — наименование Jenkins Tool с необходимой версией JDK. Конкретное значение необходимо получить у администратора Jenkins;

  • ansible_branch — ветка скриптов развертывания;

  • ansible_version — наименование Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;

  • nexus_user_cred — Jenkins Username with Password credential ID для выкачивания дистрибутива. При задании secman_url — полный путь в HashiCorp Vault до имени пользователя и пароля. Например: {Jenkins *Vault App Role credential ID для получения секретов из HashiCorp Vault}|path/to/nexus:{user},{password}

  • vault_cred — Jenkins secret file credential ID со строкой для расшифровки паролей (ansible vault). При задании secman_url — полный путь в HashiCorp Vault до пароля. Например: {Jenkins *Vault App Role credential* ID_1}|/path/to/vault:{password_1}, {Jenkins *Vault App Role credential* ID_2}|/path/to/vault:{password_2} В качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64. Например, myVaultBase64.

  • server_ssh_cred — Jenkins ssh key Credential ID с ssh ключом для подключения к конечным серверам. Чтобы получить ssh_username, ssh_key, ssh_key_passsphrase для подключения к серверам из HashiCorp Vault, необходимо заполнить параметр secman_url в формате: JenkinsCredID|SecManPath:SecManKeys|SecManParams, где:

    • JenkinsСredID — Jenkins Vault App Role Credential ID, содержащий реквизиты для подключения к HashiCorp Vault;

    • SecManPath — путь к секретам в HashiCorp Vault;

    • SecManKeys — имена полей для ssh_username, ssh_key, ssh_key_passphrase в HashiCorp Vault (через запятую). Ssh_key_passphrase не указывается, если у ssh ключа нет пароля. В секрете, в значении ssh_key обязательно оставить перенос строки после текста с приватным ключом;

    • SecManParams — параметры подключения к HashiCorp Vault (через точку с запятой). Если данные параметры по умолчанию, то пропускаются вместе с «|» (в качестве ключа можно использовать не строку, а файл в base64 формате и секрет в HashiCorp Vault с именем, оканчивающимся на «Base64», например: myPrivateKeyBase64). Примеры:

      • SecManAppRoleCred|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/vault:ssh_username,ssh_key

      • SecManAppRoleCred|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/vault:ssh_username,ssh_key,ssh_key_passphrase

      • SecManAppRoleCred|/CI01994970_CI02618129_ES/A/DEV/APP/JEN/KV/vault:ssh_username,ssh_key,ssh_key_passphrase|engineVersion:2.

  • secman_url — URL для подключения к HashiCorp Vault;

  • ssl_verify — проверка, являются ли сертификаты HashiCorp Vault/Nexus доверенными (по умолчанию включен, true);

  • second_hand_approve — подтверждение запуска другим администратором (контроль «второй рукой»; по умолчанию включен, true). При активации параметра одному администратору будет недоступна возможность запуска Jenkins Job без подтверждения со стороны другого администратора. При выключении параметра в логах появится информация об отключении данной проверки;

  • inventories_repo — репозиторий с inventory;

  • inventories_branch — ветка репозитория;

  • inventories_path — путь до inventories от корня репозитория;

  • cleanws — параметр очистки Jenkins workspace (по умолчанию включен, true).

При установке в облачной среде#

С помощью ansible#

Удаление EVTA производится из папки Ansible скриптов развертывания командой:

ansible-playbook reactive_stream_adapter.yml -i inventories/<ID>/inventory -t uninstall --ask-vault-pass

, где ID — имя недавно созданного inventory.

Результатом исполнения команды будет полное удаление установленного EVTA и всех сопутствующих объектов, за исключением service entry. При необходимости можно удалить эти объекты вручную.

С помощью Jenkins#

Для удаления компонента EVTA необходимо запустить Jenkins job reactive_stream_adapter_os с выбором playbook reactive_stream_adapter.yml c тегом uninstall.

Настраиваемые параметры reactive_stream_adapter_os:

  • job_config_renew — отвечает за обновление Jenkins Job. При установке приложения должен быть выключен (false). Для обновления текущих параметров и сохранения значений по умолчанию должен быть включен (true);

  • inventory — имя inventory для установки;

  • nexusUrl — ссылка на конфигурационный дистрибутив (при отсутствии – оставить поле пустым);

  • nexusHelmUrl — ссылка на дистрибутив EVTA-cfg-[version]-distrib.zip установки компонента в облачной среде. Для скачивания дистрибутива используется параметр nexus_user_cred;

  • playbook — необходимый сценарий установки, где:

    • reactive_stream_adapter.yml — запуск EVTA в облачной среде.

  • tags — список тегов. При пустом значении выполняется установка или обновление EVTA:

    • helm_history — просмотр истории развертывания EVTA;

    • helm_rollback — откат EVTA на REVISION, выбранную в параметре helm_rollback_revision;

    • status — статус установки сервиса; также используется для вывода результата обращения к endpoint дискаверинга EVTA (информация в логах);

    • uninstall — удаление сервиса.

  • helm_rollback_revision — выбор номера REVISION при выборе тега helm_rollback;

  • jenkins_slave — выбор Jenkins Slave;

  • ansible_branch — ветка скриптов развертывания;

  • ansible_version — наименование Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins;

  • nexus_user_cred — Jenkins username with password credential ID для выкачивания дистрибутива. При задании secman_url — полный путь в HashiCorp Vault до имени пользователя и пароля. Например: {Jenkins *Vault App Role credential* ID для получения секретов из HashiCorp Vault}|path/to/nexus:{user},{password}

  • vault_cred — Jenkins secret file credential ID со строкой для расшифровки паролей (ansible vault). При задании secman_url — полный путь в HashiCorp Vault до пароля. Например: {Jenkins *Vault App Role credential* ID_1}|/path/to/vault:{password_1}, {Jenkins *Vault App Role credential* ID_2}|/path/to/vault:{password_2} В качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64. Например, myVaultBase64;

  • secman_url — URL для подключения к HashiCorp Vault;

  • jdk_tool — наименование Jenkins Tool с необходимой версией JDK. Конкретное значение необходимо получить у администратора Jenkins;

  • ssl_verify — проверка, являются ли сертификаты HashiCorp Vault/Nexus доверенными (по умолчанию включен, true);

  • second_hand_approve — подтверждение запуска другим администратором (контроль «второй рукой»; по умолчанию включен, true). При активации параметра одному администратору будет недоступна возможность запуска Jenkins Job без подтверждения со стороны другого администратора. При выключении параметра в логах появится информация об отключении данной проверки;

  • ocCliVersion — версия утилиты oc;

  • helmCliVersion — версия helm;

  • inventories_repo — репозиторий с inventory;

  • inventories_branch — ветка репозитория;

  • inventories_path — путь до inventories от корня репозитория;

  • cleanws — параметр очистки Jenkins workspace (по умолчанию включен, true).