外部 RabbitMQ

有时,由于各种原因(冗余、组织策略等),可能需要使用外部 RabbitMQ 集群。 可以通过以下步骤实现此用例

需求

  • 一个现有的 RabbitMQ 集群,可以从您的所有节点访问。

启用外部 RabbitMQ 支持

为了启用外部 RabbitMQ 支持,您首先需要禁用 RabbitMQ 部署,方法是确保以下行存在于 /etc/kolla/globals.yml

enable_rabbitmq: "no"

覆盖 globals.yml 中的 transport_url

当您使用外部 RabbitMQ 集群时,必须覆盖 *_transport_url/etc/kolla/globals.yml

rpc_transport_url:
notify_transport_url:
nova_cell_rpc_transport_url:
nova_cell_notify_transport_url:

例如

rpc_transport_url: rabbit://openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.1:5672,openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.2:5672,openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.3:5672//
notify_transport_url: "{{ rpc_transport_url }}"
nova_cell_rpc_transport_url: rabbit://openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.1:5672//
nova_cell_notify_transport_url: "{{ nova_cell_rpc_transport_url }}"

注意

确保在 *_transport_url 中使用的 rabbitmq 用户存在。