#ansible #openstack
#ansible #openstack
Вопрос:
У меня есть недавно развернутая kolla-ansible stable / victoria с несколькими службами, которые я хотел попробовать, но которые мне больше не нужны (назначить, octavia и т. Д.) Каков «правильный» способ удаления этих служб? Я попытался:
kolla-ansible -i multinode reconfigure --tags <services>
kolla-ansible -i multinode reconfigure --tags common,haproxy,<services>
kolla-ansible -i multinode deploy --tags <services>
В каждом случае у меня остаются все еще работающие контейнеры, оставшиеся артефакты конфигурации (/etc/kolla/.*.conf ) и конфигурационные файлы haproxy.
Ответ №1:
Я знаю, что прошло некоторое время с тех пор, как вы опубликовали этот вопрос, но недавно у меня была такая же проблема, и я нигде не нашел документации об этом.
Причина, по которой перенастройка и развертывание ничего не делают, даже если вы установили enable_<service>
значение no, заключается в том, что сборники воспроизведения Ansible запускают задачи, связанные с данной службой, только в том случае, если ее соответствующее значение enable равно true. Если вы посмотрите на выходные данные ваших команд, выполняемых с --tags
помощью, вы увидите, что Ansible на самом деле ничего не делает в отношении вашей отключенной службы.
Поскольку Kolla-Ansible развертывает все с помощью контейнеров, я обнаружил, что большинство служб можно просто удалить, выполнив следующие действия:
- Остановите и удалите все контейнеры, в которых запущена удаляемая служба
- Удалите тома этих контейнеров
- Удалите файлы конфигурации и журнала (в /etc/kolla и /var/log/kolla соответственно)
- Удалите базы данных, используемые удаляемой службой
- Вы можете удалить файлы конфигурации HAProxy для каждой удаляемой службы.
Я знаю, что это, возможно, не соответствует духу автоматизации управления Openstack с помощью Ansible, но я делал это несколько раз без особых проблем. Я бы не стал удалять основные службы, такие как Keystone, Neutron, Nova, Mariadb или Rabbitmq, потому что, если вы это делаете, вы в любом случае уничтожаете все свое развертывание Openstack.
Вы можете запустить сценарии cleanup-host и cleanup-containers на хостах, на которых запущены ваши контейнеры, но они удаляют все, что связано с Kolla-Ansible. Если вы хотите удалить определенную службу, вы можете изменить эти сценарии. Я знаю, что некоторые службы, такие как Nova, Neutron, Openvswitch и Zun, также перенастраивают хост для работы в сети, но я не смог найти надежный способ отменить эти изменения, и cleanup-host / cleanup-containers также не обращаются к ним. Если вы остановите и удалите контейнеры openvswitch, интерфейсы Openvswitch исчезнут при следующей перезагрузке хоста, и это может быть жизнеспособным методом и для вас. Помните, что Kolla-Ansible постоянно загружает модуль ядра openvswitch, так что это еще что-то, что вы, возможно, захотите удалить.
Ответ №2:
Недавно я также боролся с таким сценарием, и я нашел только эти:
https://bugs .launchpad.net/kolla-ansible / ошибка/1874044
https://review.opendev.org/c/openstack/kolla-ansible / /504592
К сожалению, похоже, что работа уже началась некоторое время назад, но большого прогресса пока не достигнуто.