簡體   English   中英

從 kolla-ansible 中刪除以前部署的服務的正確方法是什么

[英]What is the proper way to remove a previously deployed service from kolla-ansible

我最近部署了一個 kolla-ansible stable/victoria,其中包含一些我想嘗試但不再需要的服務(designate、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 配置文件。

我知道你發布這個問題已經有一段時間了,但我最近遇到了同樣的問題,並且沒有在任何地方找到關於這個的文檔。

即使您將enable_<service>設置為 no,重新配置和部署也不做任何事情的原因是因為 Ansible playbooks 只運行涉及給定服務的任務,如果其相應的 enable 為真。 如果您查看使用--tags運行的命令的輸出,您會發現 Ansible 並沒有真正對您禁用的服務做任何事情。

由於 Kolla-Ansible 使用容器部署所有內容,我發現大多數服務可以通過執行以下操作簡單地刪除:

  • 停止並刪除運行要刪除的服務的所有容器
  • 刪除這些容器的卷
  • 刪除配置和日志文件(分別在 /etc/kolla 和 /var/log/kolla 下)
  • 刪除您要刪除的服務使用的數據庫
  • 您可以為要刪除的每個服務刪除 HAproxy 配置文件。

我知道這可能不符合使用 Ansible 自動化 Openstack 管理的精神,但我已經這樣做了幾次,沒有太多問題。 我會避免刪除 Keystone、Neutron、Nova、Mariadb 或 Rabbitmq 等核心服務,因為如果你這樣做,無論如何你都會破壞整個 Openstack 部署。

您可以在運行容器的主機上運行cleanup-hostcleanup-containers腳本,但這些腳本會刪除與 Kolla-Ansible 相關的所有內容。 如果要刪除特定服務,則可以修改這些腳本。 我知道某些服務,如 Nova、Neutron、Openvswitch 和 Zun 也為網絡重新配置主機,但我無法找到一種可靠的方法來恢復這些更改,並且清理主機/清理容器沒有解決這些問題任何一個。 如果您停止並刪除 openvswitch 容器,Openvswitch 的接口將在下次主機重新啟動時消失,這對您來說也可能是一種可行的方法。 請記住,Kolla-Ansible 會持續加載 openvswitch 內核模塊,因此您可能還想刪除它。

我最近也在為這種情況而苦苦掙扎,我發現了這些:

https://bugs.launchpad.net/kolla-ansible/+bug/1874044

https://review.opendev.org/c/openstack/kolla-ansible/+/504592

不幸的是,似乎已經開始了一段時間的工作,但還沒有取得大的進展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM