Перезапуск компонентов EVTD#
С помощью ansible#
Необходимо зайти на узел, на котором будет производиться перезапуск:
Если требуется перезапустить брокер Platform V Corax / Apache Kafka:
Остановить сервис:
sudo systemctl stop kafka.serviceОстановить брокер Platform V Corax / Apache Kafka:
opt/Apache/kafka/bin/kafka-server-stop.shЗапустить брокер Platform V Corax / Apache Kafka:
opt/Apache/bin/kafka-server-start.sh -daemon opt/Apache/config/server.propertiesЗапустить сервис:
sudo systemctl start kafka.service
Если требуется перезапустить Zookeeper:
Остановить сервис:
sudo systemctl stop zookeeper.serviceОстановить Zookeeper:
opt/Apache/kafka/bin/zookeeper-server-stop.shЗапустить Zookeeper:
opt/Apache/bin/zookeeper-server-start.sh -daemon opt/Apache/config/zookeeper.propertiesЗапустить сервис:
sudo systemctl start zookeeper.service
С помощью Jenkins#
Перезапуск осуществляется с помощью Jenkins job SYN_custom_kafka.
Процесс создания Jenkins job SYN_custom_kafka описан в документе Руководство по установке, раздел Создание Jenkins Job для автоматической установки.
Перезапуск компонентов Zookeper и брокеров Platform V Corax / Apache Kafka одновременно:
При настройке Jenkins job SYN_custom_kafka укажите:
в параметре
playbook– zk_and_kafka.yml;в параметре
tags– теги start и stop.
**Перезапуск брокеров Platform V Corax / Apache Kafka:
При настройке Jenkins job SYN_custom_kafka укажите:
в параметре
playbook– kafka.yml;в параметре
tags– теги start и stop.
Перезапуск компонента Zookeper:
При настройке Jenkins job SYN_custom_kafka укажите:
в параметре
playbook– zookeeper.yml;в параметре
tags– теги start и stop.
Настраиваемые параметры SYN_custom_kafka:
job_config_renew— обновление Jenkins Job. При установке приложения должен быть выключен (false). Для обновления текущих параметров и сохранения значений по умолчанию должен быть включен (true);inventory— имя inventory для установки;nexusUrl— ссылка на переданный дистрибутив ./EVTD-kafka-[version]-distrib.zip;nexusUrlKafka— полный путь до дистрибутива KFKA или дистрибутива Apache Kafka;playbook— необходимый сценарий установки;tags— список тегов для playbooks zk_and_kafka.yml, kafka.yml и zookeeper.yml:backup — создание backup;
backup_remove — удаление backup;
backup_restore — восстановление из backup;
distribute — распаковка переданного дистрибутива ./EVTD-kafka-[version]-distrib.zip;
ini_change — используется для изменения настроек в конфигурации брокеров Platform V Corax / Apache Kafka и Zookeper (параметры
kafka.iniChangeиzookeper.iniChangeсоответственно в файле vars.yml);install — запуск блока установки;
start — запуск сервиса;
status — статус сервиса;
restart – перезапуск сервиса;
stop — остановка сервиса;
unistall — удаление сервиса;
update_audit — обновление настроек аудита.
select_all_hosts– выполнение playbook на всех серверах из выбранного inventory;only_on_host– выполнение playbook на выбранных серверах;emailto— список адресов электронной почты для отправки результатов (письмо исполнителю упадет автоматически);custom_vault_password– ручной ввод пароля для Ansible Vault;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;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 — имена полей для JKS администратора в HashiCorp Vault и пароля от него через запятую.
Окончание имени поля для JKS администратора должно быть Base64;
JKS администратора в HashiCorp Vault должен храниться в KV хранилище в Base64 формате;
Поле пароля для JKS администратора опционально, в случае его отсутствия пароль будет запрошен в интерактивном режиме.
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;jdk_tool— наименование Jenkins Tool с необходимой версией JDK. Конкретное значение необходимо получить у администратора Jenkins;ssl_verify— проверка, являются ли сертификаты HashiCorp Vault/Nexus доверенными;inventories_repo— репозиторий с inventory. Данный пункт применим, если inventory были созданы в другом репозитории, отличным от того, где лежат скрипты;inventories_branch— ветка репозитория, где находятся inventory. Данный пункт применим, если inventory были созданы в другом репозитории, отличным от того, где лежат скрипты;inventories_path— путь до inventories от корня репозитория (значениеAnsible/inventories).
Если не выбран ни один из параметров only_on_host, select_all_hosts, выполнение Jenkins job прервется с ошибкой Не выбраны сервера.