Kubernetes部署RabbitMQ教程
RabbitMQ 是一个成熟的通用消息代理。代理促进了一组分布式微服务之间的消息交换,并允许它们高效可靠地通信。
Kubernetes 以其以 API 为中心的方法,是在集群中部署 RabbitMQ 实例的理想操作员。Kubernetes 的扩展能力和自动化容器部署增强了 RabbitMQ 在扩展集群环境中的可靠性。
如何在Kubernetes上部署RabbitMQ?本教程将向你展示如何在 Kubernetes 上安装 RabbitMQ 实例。
先决条件
- 访问终端窗口/命令行
- 一个 Kubernetes 集群
- Kubernetes kubectl CLI 工具
在 Kubernetes 上部署 RabbitMQ
Kubernetes如何部署RabbitMQ?在 Kubernetes 集群上安装高级软件解决方案通常涉及创建和编辑多个复杂的配置文件。
Helm是 Kubernetes 应用程序包管理器,可以非常快速地简化安装过程并在整个集群中部署资源。要成功部署 RabbitMQ,我们必须安装 Helm 包管理器。
安装 Helm 包管理器
使用以下命令在本地 Kubernetes 集群上安装最新版本的 Helm:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
安装过程完成后,通过键入以下命令启动 Helm 包管理器:
helm init
你现在可以使用 Helm 通过几个简短的命令在整个集群中部署资源。
Kubernetes部署RabbitMQ教程:为 RabbitMQ 部署创建命名空间
Kubernetes 中的所有资源都在一个命名空间中启动。除非指定一个,否则系统使用默认命名空间。为了更好地控制部署过程,请使用以下命令创建一个独特的命名空间:
kubectl create namespace rabbit
你可以使用任何与 DNS 兼容的名称。我们创建的命名空间名为:rabbit。
系统确认命名空间创建成功。
在 Kubernetes 上安装 RabbitMQ
如何在Kubernetes上部署RabbitMQ?成功安装 Helm并指定命名空间后,你就可以开始 RabbitMQ 部署过程了。输入以下命令以应用来自 git 存储库的默认stable/rabbitmq图表:
helm install mu-rabbit stable/rabbitmq --namespace rabbit
该命令以默认配置在 Kubernetes 集群上部署 RabbitMQ。部署在之前创建的rabbit命名空间中执行。
终端提供你从浏览器访问 RabbitMQ 管理界面所需的信息,例如凭据、端口号和 URL。
检查 RabbitMQ 供应状态
Kubernetes如何部署RabbitMQ?容器可能需要一些时间来部署。供应序列的完整状态可以确认部署是否成功。要查看部署的详细信息,请输入以下命令:
watch kubectl get deployments,pods,services --namespace rabbit
终端中的 shell 提供了 rabbit 命名空间的详细信息。
准备好退出监控外壳后,请按Ctrl+C。
Kubernetes部署RabbitMQ教程:配置RabbitMQ服务器
RabbitMQ 服务器及其插件的设置在RabbitMQ 配置文件中进行编辑。
你可以使用你喜欢的文本编辑器来访问和配置rabbitmq.conf文件。配置文件语法使用该sysctl
格式,有几个基本原则需要遵守:
- 系统不执行以
#
字符开头的行,因为它认为它们是注释 - 每行只能定义一个设置
- 这些行使用简单的Key = Value结构
该rabbitmq.conf文件允许你定义最必要的配置项,如端口,内存阈值,磁盘空间,或权限来连接到代理。
RabbitMQ 服务器源存储库提供了一个带有详细注释的 rabbitmq.conf 文件的综合示例。请务必注意,此示例文件代表一般指南,应进行调整以反映你系统的特定需求。
注意: RabbitMQ 3.7.0 之前的版本使用不同的配置文件名rabbitmq.config
.
设置 RabbitMQ 管理插件以启用 GUI
如何在Kubernetes上部署RabbitMQ?RabbitMQ 管理插件已经在默认发行版中可用。使用rabbitmq-plugins
命令启用服务:
rabbitmq-plugins enable rabbitmq_management
使用 RabbitMQ 服务器的 IP 和端口号访问 RabbitMQ 图形界面。在浏览器中输入以下 Web 位置格式:
http://rabbitmq-ip-or-server-name:15672/
在安装过程中提供了 IP 和端口号。
该服务要求你提供凭据。要访问 UI 需要输入你的用户名和密码。在新的 RabbitMQ 安装中,默认用户名和密码都预定义为“guest”。
你现在可以访问一个用户友好的环境,允许你管理虚拟主机、队列、权限和交换。
RabbitMQ 如何在 Kubernetes 上工作?
Kubernetes如何部署RabbitMQ?Kubernetes 的真正目的是在高度分布式的集群中编排服务和自动化作业。像 RabbitMQ 这样的消息传递代理可以提高长期运行任务的质量并稳定重要的后台进程。
RabbitMQ 使用高级消息队列协议 (AMQP) 来标准化生产者、代理和消费者之间的消息传递。
- 一个生产者将消息发布到交易所。
- Exchange 格式化消息并将其转发到预定义和选定的Queue。
- 一个消费者然后检索格式化的消息,消耗它。
消息的系统分发改进了松散耦合的应用程序和服务之间的通信。
Kubernetes部署RabbitMQ教程结论
如何在Kubernetes上部署RabbitMQ?你已经使用 Helm 包管理器在 Kubernetes 上成功安装了 RabbitMQ。部署在集群中的服务现在能够比以前更有效地进行通信。
你还可以访问 RabbitMQ 管理插件。直观的用户界面可帮助你有效地管理消息队列,并最终减少 Web 应用程序服务器的负载和交付时间。