通过Rancher平台下搭建RabbitMQ集群

5 篇文章 0 订阅
5 篇文章 0 订阅

集群

架构图

在这里插入图片描述

MQ集群使用了HAProxy中间件作为负载均衡工具,HAProxy是一款高性能4层(tcp)和7层(Http)负载均衡工具,支持服务健康检测等强大的特性,拥有丰富的负载策略。

部署MQ集群

先部署MQ服务,根据实际情况可以部署多个实例,每个实例的部署方式基本是一样的,不一样的地方下面会标出。

镜像

在这里插入图片描述

端口映射

在这里插入图片描述

  • 15672:web管理页面端口

  • 5672:服务端口

环境变量

在这里插入图片描述

  • RABBITMQ_DEFAULT_USER:账号

  • RABBITMQ_DEFAULT_PASS:密码

  • RABBITMQ_ERLANG_COOKIE:集群验证Cookie,每个集群节点需要设置成一样的值

  • RABBITMQ_NODENAME:节点名称

节点配置每台主机不一样,rabbit前缀是固定值,@符号后面的是主机名(hostname),主机名配置参考下面的网络配置章节

主机映射

在这里插入图片描述

每个MQ服务需要部署在不同的主机上

数据卷

在这里插入图片描述

缩放升级策略

在这里插入图片描述

网络

在这里插入图片描述

网络配置非常重要,首先需要使用主机网络环境,其次主机名需要和环境变量RABBITMQ_NODENAME@符号后面hostname保持一致。

主机别名需要设置所有MQ实例的主机名和对应的ip,不然集群内的MQ节点无法找到彼此。当然,通过修改服务器的host文件能够起到同样的效果。

安全及主机设置

在这里插入图片描述

集群配置

假如主节点的的nodenamerabbit@worker89

在其他节点打开命令终端:
在这里插入图片描述

依次执行如下命令:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@worker89
rabbitmqctl start_app

然后在任意节点执行如下命令,开启集群镜像模式:

rabbitmqctl set_policy -p / ha-all "^" '{"ha-mode":"all"}'

打开任意的节点的管理端,可以看到集群节点信息:
在这里插入图片描述

这样在其中任意一个节点上创建交换机、队列等,都会同步到其他节点上。

负载均衡

当集群创建好后,还需要为集群配置负载均衡,可以采用任意多个HAProxy服务,示例中使用了2个。

首先在有docker环境的主机上创建HAProxy服务的配置文件haproxy.cfg

defaults #默认参数
    option tcpka 
frontend http-manager
    bind *:15672
    default_backend mq_manager_servers
frontend tcp-mq
    bind *:5672
    default_backend mq_servers
backend mq_manager_servers    #定义mq管理服务
    balance roundrobin
    server mq-manager-1 10.10.10.89:15672 check
    server mq-manager-2 10.10.10.98:15672 check
backend mq_servers    #定义mq服务
    balance roundrobin
    server mq-server-1 10.10.10.89:5672 check
    server mq-server-2 10.10.10.98:5672 check

根据集群实际的情况,将mq_manager_serversmq_servers中的服务地址替换成实际的MQ节点。

然后打包镜像,在配置文件所在目录创建Dockerfile文件


FROM 10.10.10.52:5000/haproxy:2.2
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg

打包镜像:

docker build -t 10.10.10.52:5000/haproxy-mq:1.0 .

推送到项目私有云,根据实际的情况替换私有云地址:

docker push 10.10.10.52:5000/haproxy-mq:1.0

部署HAProxy

镜像

在这里插入图片描述

端口

在这里插入图片描述

  • 15672:web管理页面端口

  • 5672:服务端口

主机调度

在这里插入图片描述

保证每个主机部署一个

健康检查

在这里插入图片描述

当节点出现故障时,可快速剔除节点。

部署完成后便可以通过156725672映射出去的端口,测试集群了。

在这里插入图片描述

示例

参考datacenter集群中的MQ集群项目:

在这里插入图片描述

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rancher是一个开源的容器管理平台,可以用来搭建和管理Kubernetes集群。使用Rancher搭建Kubernetes集群的步骤可以分为三个主要部分:虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。 在虚拟机环境配置部分,你需要配置一台或多台虚拟机作为Kubernetes集群的节点。这包括设置虚拟机的操作系统和资源分配等配置。 接下来,在安装Rancher的部分,你需要在Docker中安装Rancher,这将提供一个可视化的管理界面来管理和监控Kubernetes集群。 最后,在通过Rancher安装Kubernetes集群的部分,你需要按照一系列步骤来配置和安装Kubernetes集群。这包括安装RKE和kubectl工具、使用RKE安装Kubernetes、设置环境变量、安装和配置Helm等。 当然,如果你想清理Rancher创建的Kubernetes集群,还可以按照相应的步骤进行清理操作。 综上所述,使用Rancher搭建Kubernetes集群的主要步骤包括虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。<span class="em">1</span> #### 引用[.reference_title] - *1* [Rancher搭建k8s集群](https://blog.csdn.net/aa18855953229/article/details/112200578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值