Перезапуск компонентов 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 укажите:

  • в параметре playbookzk_and_kafka.yml;

  • в параметре tags – теги start и stop.

**Перезапуск брокеров Platform V Corax / Apache Kafka:

При настройке Jenkins job SYN_custom_kafka укажите:

  • в параметре playbookkafka.yml;

  • в параметре tags – теги start и stop.

Перезапуск компонента Zookeper:

При настройке Jenkins job SYN_custom_kafka укажите:

  • в параметре playbookzookeeper.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;

    • custom_files — генерация кастомных файлов;

    • 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 — версия ansible. Например, значение ansible29;

  • 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 Username with private key credential ID для подключения к серверам. При задании параметра secman_url — укажите полный путь в Hashicorp Vault до секрета. Например: {Jenkins *Vault App Role Credential* ID для получения секретов из HashiCorp Vault}|/.../KV/ssh:{user},{key},{passphrase}. В качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64. Например myPrivateKeyBase64;

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

  • jdk_tool — указание Jenkins Tool с нужной версией JDK;

  • 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 прервется с ошибкой Не выбраны сервера.