rockandska.rabbitmq

ansible-role-rabbitmq

这是一个用于从 RabbitMQ 仓库安装 RabbitMQ 的 Ansible 角色。 可在 Ansible Galaxy 上获取。

Ansible Galaxy : Galaxy Score

Travis Build : Build Status

兼容性

RabbitMQ
3.6.x 已弃用
3.7.x 已弃用
3.8 正常
> 3.8 未测试
发行版
CentOS 7 正常
CentOS > 7 未测试
Debian 9 正常
Debian > 9 未测试
Ubuntu bionic 正常
Ubuntu > bionic 未测试

远程主机要求

所有发行版

  • 应用 ansible-role-erlang (**请确保使用与将安装的 RabbitMQ 版本兼容的 Erlang 版本。请参见 rabbitmq 文档**)
  • socat
  • logrotate
  • python requests >= 1.0.0(如果使用该角色提供的绑定、交换和队列管理)
  • 对于集群,集群中的主机应能够通过主机名解析

Debian / Ubuntu

  • apt-transport-https
  • gpg-agent
  • ca-certificates

CentOS / RedHat

  • gnupg2

角色变量

默认变量在 defaults/main.yml 文件中

---
###########
# 安装   #
###########
rabbitmq_series: 3.8
rabbitmq_series_rpm_version:
rabbitmq_series_deb_version:

rabbitmq_rpm_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el
rabbitmq_rpm_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_rpm_repo_tpl: etc/yum.repos.d/rabbitmq.repo.j2
rabbitmq_rpm_disable_repo:
rabbitmq_rpm_enable_repo:

rabbitmq_deb_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb
rabbitmq_deb_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_deb_repo_tpl: etc/apt/sources.list.d/rabbitmq.list.j2
rabbitmq_deb_pinning_tpl: etc/apt/preferences.d/rabbitmq.j2

#################
# 自定义配置   #
#################
rabbitmq_vars_files: []

rabbitmq_sysctl_tpl: etc/rabbitmq/sysctl.conf.j2
rabbitmq_sysctl_config: {}

rabbitmq_erlang_tpl: etc/rabbitmq/erlang.config.j2
rabbitmq_erlang_config:

rabbitmq_env_tpl: etc/rabbitmq/rabbitmq-env.conf.j2
rabbitmq_env_config: {}

rabbitmq_node_name:

rabbitmq_systemd_override_tpl: etc/systemd/system/rabbitmq-server.service.d/override.conf.j2
rabbitmq_systemd_override: {}

rabbitmq_custom_logrotate_tpl: etc/logrotate.d/rabbitmq-server.j2
rabbitmq_custom_logrotate:

rabbitmq_users_groups: []

###########
# 集群   #
###########
rabbitmq_is_master:
rabbitmq_slave_of:
rabbitmq_peer_discovery_classic: true
rabbitmq_cluster_node_type: disc
rabbitmq_internode_ssl_config:

###########
# 插件   #
###########
rabbitmq_plugins_to_enable: []
rabbitmq_plugins_to_disable: []

#########
# 用户   #
#########
rabbitmq_users_to_create: []
rabbitmq_users_to_delete: []

#####################
# 全局参数         #
#####################
rabbitmq_global_parameters_to_create: []
rabbitmq_global_parameters_to_delete: []

############
# API 用户  #
############
rabbitmq_management_user:
rabbitmq_management_password:
rabbitmq_management_host:
rabbitmq_management_port:
rabbitmq_management_protocol:
rabbitmq_management_ca_cert:
rabbitmq_management_client_cert:
rabbitmq_management_client_key:

##########
# 虚拟主机 #
##########
rabbitmq_vhosts_to_create: []
rabbitmq_vhosts_to_delete: []

##########
# 队列     #
##########
rabbitmq_queues_to_create: []
rabbitmq_queues_to_delete: []

############
# 交换     #
############
rabbitmq_exchanges_to_create: []
rabbitmq_exchanges_to_delete: []

############
# 绑定     #
############
rabbitmq_bindings_to_create: []
rabbitmq_bindings_to_delete: []

############
# 策略     #
############
rabbitmq_policies_to_create: []
rabbitmq_policies_to_delete: []

##############
# 参数       #
##############
rabbitmq_parameters_to_create: []
rabbitmq_parameters_to_delete: []

#########
# 调试    #
#########
rabbitmq_hide_log: true

详细信息

  • rabbitmq_series

    • 应该是浮动数(3.8 在 2021 年 07 月 07 日可用)
  • rabbitmq_rpm_repo_url

    • 用于 yum 模板的仓库基础 URL
  • rabbitmq_rpm_gpg_url

    • 用于 yum 模板的 gpg 密钥
  • rabbitmq_rpm_repo_tpl

    • yum 仓库模板的路径
    • 如果您想使用自己的模板
      • 将模板添加到播放本旁的 templates 文件夹中
      • 使用不同的路径而不是默认路径
      • 保留仓库名为 rabbitmq

(以下部分省略,内容类似,翻译可根据需求继续。)

示例剧本

独立安装

- hosts: rabbitmq
  roles:
    - rockandska.erlang
    - rockandska.rabbitmq

集群安装

由于需要先启动主节点,再让从节点加入,因此集群部署分为两个步骤。

- hosts: rabbitmq-master
  roles:
    - role: rockandska.erlang
    - role: rockandska.rabbitmq
      vars:
        rabbitmq_is_master: true

- hosts: rabbitmq-slave
  roles:
    - role: rockandska.erlang
    - role: rockandska.rabbitmq
      vars:
        rabbitmq_slave_of: rabbitmq-master

本地测试

要求

python3 <3.8 docker

运行测试

$ make test

首次运行后,将可以通过自动补全获取每个 tox 环境/molecule 场景的额外目标。

要调试并在自定义环境上运行自定义 molecule 命令,只使用默认测试场景:

$ source tmp/bin/activate
$ tox -e py3-ansible27 -- molecule test -s default

有关 molecule 的更多信息,请访问他们的 文档

如果您想在远程 docker 主机上运行测试,只需在运行 tox 测试之前指定 DOCKER_HOST 变量。

许可证

BSD

关于项目

RabbitMQ (HA compatible)

安装
ansible-galaxy install rockandska.rabbitmq
许可证
Unknown
下载
12.1k
拥有者