如何使用ANSIBLE在远程主机上创建RabbitMQ

栏目: 后端 · 发布时间: 7年前

内容简介:如果您考虑通过RabbitMQ实现更大规模的AMQP基础架构,那么肯定会尝试使用Ansible作为基础架构部署者,因为Ansible的RabbitMQ模块非常容易使用,让我们举个例子。任务:使用名称:ansible_exchange创建DIRECT交换,ansible_exchange绑定两个队列myRemoteQueue1 和myRemoteQueue2,路由键为key1和key2。

如果您考虑通过RabbitMQ实现更大规模的AMQP基础架构,那么肯定会尝试使用Ansible作为基础架构部署者,因为Ansible的RabbitMQ模块非常容易使用,让我们举个例子。

任务:

使用名称:ansible_exchange创建DIRECT交换,ansible_exchange绑定两个队列myRemoteQueue1 和myRemoteQueue2,路由键为key1和key2。

让我们为这个任务来创建用于基础设施的部署容易ansible角色:

../roles/create_infra/tasks/main.yml

# Create exchange on remote host
- rabbitmq_exchange:
    name: ansible_exchange
    type: direct
    login_user: guest
    login_password: guest
    login_port: 15672

# Create a queues on remote host
- rabbitmq_queue:
    name: <font>"{{item}}"</font><font>
    login_user: guest
    login_password: guest
    login_host: localhost
    login_port: 15672
with_items:
    - myRemoteQueue1
    - myRemoteQueue2

- rabbitmq_binding:
    name: ansible_exchange
    destination: myRemoteQueue1
    type: queue
    routing_key: key1

- rabbitmq_binding:
    name: ansible_exchange
    destination: myRemoteQueue2
    type: queue
    routing_key: key2
</font>

并使用简单的基本剧本启动此角色:

infra.yml:

-  hosts:localhost 
    gather_facts:false 
    roles:
        -  create_infra

我相信create_infra的任务代码是selfexplanatory,有关更多信息,请参阅以下内容:

http:<font><i>//docs.ansible.com/ansible/latest/rabbitmq_exchange_module.html http://docs.ansible.com/ansible/latest/rabbitmq_binding_module.html http://docs.ansible.com/ansible/latest/rabbitmq_queue_module.html</i></font><font>
</font>

现在让我们来启动infra.yml playbook:

$ ansible-playbook infra.yml

PLAY [localhost] ********************************************************************************************************************************************************************

TASK [create_infra : rabbitmq_exchange] *********************************************************************************************************************************************
changed: [localhost]

TASK [create_infra : rabbitmq_queue] ************************************************************************************************************************************************
ok: [localhost] => (item=myRemoteQueue1)
ok: [localhost] => (item=myRemoteQueue2)

TASK [create_infra : rabbitmq_binding] **********************************************************************************************************************************************
changed: [localhost]

TASK [create_infra : rabbitmq_binding] **********************************************************************************************************************************************
changed: [localhost]

PLAY RECAP **************************************************************************************************************************************************************************
localhost                  : ok=4    changed=3    unreachable=0    failed=0

并检查剧本是否符合我们的要求:

exchange创建验证:

$ ./rabbitmqctl list_exchanges | grep <font>"ansible_"</font><font>
ansible_exchange    direct
</font>

队列创建验证:

$ ./rabbitmqctl list_queues | grep myRemoteQueue*
myRemoteQueue1  0
myRemoteQueue2  0

绑定创建验证:

$ ./rabbitmqctl list_bindings | grep ansible_
ansible_exchange    exchange    myRemoteQueue1  queue   key1    []
ansible_exchange    exchange    myRemoteQueue2  queue   key2    []

伙计们,使用Ansible的AMQP模块并享受乐趣!


以上所述就是小编给大家介绍的《如何使用ANSIBLE在远程主机上创建RabbitMQ》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

这就是搜索引擎

这就是搜索引擎

张俊林 / 电子工业出版社 / 2012-1-1 / 45.00元

搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻。搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。 本书的最大特点是内容新颖全面而又通俗易懂。对于实际搜索引擎所涉及的各种核心技术都有全面细致的介绍,除了作为搜索系统核心的网络爬虫、索引系统、排序系统、......一起来看看 《这就是搜索引擎》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具