Удаление#
С предустановкой Platform V Corax#
Для удаления Platform V Corax выполните:
Остановите работу кластера. На каждом узле Platform V Corax и Zookeeper в корневой директории Corax выполните команды:
bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh
Для удаления Platform V Corax и Zookeeper выполните:
sudo systemctl stop {KafkaServiceName}
sudo systemctl stop {ZookeeperServiceName}
Удалите данные Platform V Corax командами:
sudo rm -rf {KafkaRootDir}
sudo rm -rf {KafkaLogDir}
sudo rm -rf {ZookeeperLogDir}
, где:
KafkaRootDir — корневая директория Platform V Corax; KafkaLogDir — значение параметра log.dirs из файла server.properties; ZookeeperLogDir — значение параметра dataDir из файла **zookeeper.properties**. ZookeeperLogDir — значение параметра dataDirиз файла zookeeper.properties.
Для удаления Platform V Corax и Zookeeper выполните:
sudo systemctl disable {KafkaServiceName}
sudo systemctl disable {ZookeeperServiceName}
sudo rm -f /etc/systemd/system/{KafkaServiceName}
sudo rm -f /etc/systemd/system/{ZookeeperServiceName}
Подробнее об удалении брокеров Platform V Corax в документации на продукт в разделе «Руководство по установке».
С помощью ansible#
Для удаления выполнить команду:
ansible-playbook -i inventories/<ID>/inventory zk_and_kafka.yml --ask-vault-pass -t uninstall
, где ID — имя недавно созданного inventory.
Удаление всех компонентов будет производиться со всех серверов из inventory.
С помощью Jenkins#
Для удаления необходимо запустить Jenkins job SYN_custom_kafka с выбором playbook zk_and_kafka.yml c тегом uninstall. Отдельного удаления хранилища секретов и их содержимого не требуется, так как будет удалена вся директория установки/логов/данных.
Настраиваемые параметры SYN_custom_kafka:
job_config_renew— обновление Jenkins Job. При установке приложения должен быть выключен (false). Для обновления текущих параметров и сохранения значений по умолчанию должен быть включен (true);inventory— имя inventory для установки;nexusUrl— ссылка на переданный дистрибутив ./EVTD-kafka-[version]-distrib.zip;nexusUrlKafka— полный путь до дистрибутива KFKA или дистрибутива Apache Kafka;playbook— необходимый сценарий установки;tags— список тегов для playbookzk_and_kafka.yml:backup — создание backup;
backup_remove — удаление backup;
backup_restore — восстановление из backup;
custom_files — генерация кастомных файлов;
distribute — распаковка переданного дистрибутива EVTD;
ini_change — используется для изменения настроек в конфигурации 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 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. Конкретное значение необходимо получить у администратора 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 прервется с ошибкой Не выбраны сервера.