如何使用ANSIBLE在遠端主機上建立RabbitMQ
如果您考慮透過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: "{{item}}" 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 |
並使用簡單的基本劇本啟動此角色:
infra.yml:
- hosts:localhost gather_facts:false roles: - create_infra |
我相信create_infra的任務程式碼是selfexplanatory,有關更多資訊,請參閱以下內容:
http://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 |
現在讓我們來啟動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 "ansible_" ansible_exchange direct |
佇列建立驗證:
$ ./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批量更新遠端主機使用者密碼 (包括Ansible批量做ssh互信)密碼
- 如何用 scp 在本地和遠端主機之間複製檔案
- 可連線遠端主機情況下新增私鑰到遠端主機
- 操作遠端主機 docker 命令Docker
- 在海思晶片上使用GDB遠端除錯晶片除錯
- 透過 ForwardAgent ,在遠端機器上,使用本機 ssh key 進行驗證Forward
- 用golang封裝ssh用於在遠端主機上執行命令,上傳或下載檔案Golang封裝
- VSCode 如何遠端連線其他主機的 WSL2VSCode
- 在Windows中使用VirtualBox建立新的虛擬主機Windows
- RabbitMQ 入門 - 遠端呼叫 (RPC)MQRPC
- rabbitmq 新增遠端訪問功能MQ
- 在Pycharm上使用遠端伺服器進行除錯PyCharm伺服器除錯
- 如何使用rdp遠端桌面
- C# 實現Ping遠端主機功能C#
- Docker Machine遠端部署docker主機環境DockerMac
- rtop – 通過SSH監控遠端主機
- 如何通過 SSH 在遠端 Linux 系統上執行命令Linux
- 如何遠端控制數位相機
- 如何使用Topshelf與.NET泛型主機建立Windows服務泛型Windows
- 什麼是rdp遠端桌面?如何使用rdp遠端桌面?
- 什麼是rd遠端桌面?如何使用rd遠端桌面?
- 在Visual Studio 中使用git——同步到遠端伺服器-上(十一)Git伺服器
- 如何遠端除錯部署在CloudFoundry平臺上的nodejs應用除錯CloudNodeJS
- 在.NET 6 中如何建立和使用 HTTP 客戶端 SDKHTTP客戶端
- .Net core使用XRPC建立遠端介面的Actor物件RPC物件
- 【Ansible】Ansible 連線主機顯示報錯的處理方案
- 如何使用Ansible同步GitHubGithub
- NO.5帶你學會如何使用域名,如何建立虛擬主機,如何上傳檔案,如何備份檔案等等
- 在windows電腦上配置kubectl遠端操作kubernetesWindows
- 雲伺服器在Linux系統上如何結束正在登入的遠端終端?伺服器Linux
- windowsXP使用者無法遠端桌面連線天翼雲2008雲主機?Windows
- Oracle 建立PDB-遠端克隆Oracle
- 在Ubuntu上使用MySQL設定遠端資料庫優化站點效能UbuntuMySql資料庫優化
- 關於wake on lan遠端喚醒主機的問題,長時間關機無法遠端喚醒
- Hyperledger Fabric 部署在多個主機上
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的環境搭建MQUbuntu
- BlueHost美國主機如何建立資料庫資料庫
- 使用Gardener在GoogleCloudPlatform上建立Kubernetes叢集GoCloudUDPPlatform