轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
bitnamicharts/rabbitmq
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

rabbitmq Docker 镜像下载 - 轩辕镜像

rabbitmq 镜像详细信息和使用指南

rabbitmq 镜像标签列表和版本信息

rabbitmq 镜像拉取命令和加速下载

rabbitmq 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

rabbitmq
bitnamicharts/rabbitmq

rabbitmq 镜像详细信息

rabbitmq 镜像标签列表

rabbitmq 镜像使用说明

rabbitmq 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Bitnami的RabbitMQ Helm chart,用于在Kubernetes环境中便捷、可靠地部署和管理RabbitMQ消息队列。
3 收藏0 次下载activebitnamicharts
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

rabbitmq 镜像详细说明

rabbitmq 使用指南

rabbitmq 配置说明

rabbitmq 官方文档

Bitnami RabbitMQ 镜像文档

镜像概述和主要用途

RabbitMQ 是一个开源的通用消息代理,设计用于一致、高可用的消息传递场景(包括同步和异步)。Bitnami RabbitMQ 镜像提供了一个预配置、随时可用的 RabbitMQ 部署方案,适用于开发和生产环境。

RabbitMQ 官方网站

商标声明:本软件列表由 Bitnami 打包。产品中提及的各个商标分别归其各自公司所有,使用这些商标并不意味着任何关联或背书。

核心功能和特性

  • 基于官方 RabbitMQ 稳定版本构建
  • 预配置的管理插件,提供 Web 管理界面
  • 支持 Kubernetes 环境下的自动集群发现
  • 内置监控指标导出功能,支持 Prometheus 集成
  • 支持 TLS 加密以保障数据传输安全
  • 可自定义的用户认证和权限管理
  • 持久化存储支持,确保消息数据不丢失
  • 支持水平扩展,可根据需求增加节点数量
  • 包含多种安全加固措施,符合生产环境要求

使用场景和适用范围

  • 微服务架构中的服务间通信
  • 异步任务处理和工作队列管理
  • 系统解耦和集成
  • 流量削峰和缓冲
  • 发布/订阅消息模式实现
  • 需要可靠消息传递的业务系统
  • 分布式系统中的事件驱动架构

详细的使用方法和配置说明

前置要求

  • Kubernetes 1.23+
  • Helm 3.8.0+
  • 底层基础设施支持 PV 供应

安装 Helm Chart

使用以下命令安装 chart,发布名称为 my-release:

helm install my-release oci://registry-1.docker.io/bitnamicharts/rabbitmq

提示:使用 helm list 命令查看所有发布

资源请求和限制

Bitnami charts 允许为部署中的所有容器设置资源请求和限制,这些配置位于 resources 值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体使用场景进行调整。

为简化此过程,chart 包含 resourcesPreset 值,可根据不同预设自动设置 resources 部分。但在生产环境中,不建议使用 resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参阅 Kubernetes 官方文档。

Prometheus 指标集成

通过将 metrics.enabled 设置为 true,可以将此 chart 与 Prometheus 集成。这将启用 rabbitmq_prometheus 插件,并在所有 Pod 和 RabbitMQ 服务中公开指标端点。该服务将具有必要的注释,以便被 Prometheus 自动抓取。

Prometheus 要求

要使集成正常工作,需要安装 Prometheus 或 Prometheus Operator。可以安装 Bitnami Prometheus Helm chart 或 Bitnami Kube Prometheus Helm chart 以在集群中轻松部署 Prometheus。

与 Prometheus Operator 集成

该 chart 可以部署 ServiceMonitor 对象,用于与 Prometheus Operator 集成。每个 RabbitMQ 端点有不同的 ServiceMonitor 对象:

  • metrics.serviceMonitor.default 用于 /metrics 端点
  • metrics.serviceMonitor.perObject 用于 /metrics/per-object 端点
  • metrics.serviceMonitor.detailed 用于 /metrics/detailed 端点

通过设置 metrics.serviceMonitor.*.enabled=true 启用每个 ServiceMonitor。确保集群中已安装 Prometheus Operator CustomResourceDefinitions,否则会失败并显示以下错误:

no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

安装 Bitnami Kube Prometheus Helm chart 可获取必要的 CRD 和 Prometheus Operator。

水平扩展

部署后,可以通过以下两种方式水平扩展此 chart:

  • 使用 kubectl scale 命令
  • 更新 chart 并修改 replicaCount 参数
replicaCount=3
auth.password="$RABBITMQ_PASSWORD"
auth.erlangCookie="$RABBITMQ_ERLANG_COOKIE"

注意:升级 chart 时,必须指定首次安装 chart 时设置的密码和 Erlang cookie。否则,新的 Pod 将无法加入集群。

缩容时,不必要的 RabbitMQ 节点会自动停止,但不会从集群中移除。必须通过 rabbitmqctl forget_cluster_node 命令手动移除这些节点。

例如,如果 RabbitMQ 最初安装了三个副本,然后缩容到两个副本,运行以下命令(假设发布名称为 rabbitmq,集群类型为 hostname):

kubectl exec rabbitmq-0 --container rabbitmq -- rabbitmqctl forget_cluster_node ***
kubectl delete pvc data-rabbitmq-2

使用 TLS 加密流量

要启用 TLS 支持,首先按照 RabbitMQ SSL 证书生成文档 中的说明生成证书。

生成证书后,有两种选择:

  • 创建包含证书的 secret,并在部署 chart 时关联该 secret
  • 在部署 chart 时将证书包含在 values.yaml 文件中

设置 auth.tls.failIfNoPeerCert 参数为 false,以允许客户端无法提供证书时的 TLS 连接。

设置 auth.tls.sslOptionsVerify 为 verify_peer 以强制节点执行对等验证。设置为 verify_none 时,将禁用对等验证,并且不会执行证书交换。

该 chart 还便于创建用于 Ingress 控制器的 TLS secret(尽管这不是必需的)。有几种常见用例:

  • 基于 chart 参数生成证书 secret
  • 启用外部生成的证书
  • 通过外部服务(如 cert-manager)管理应用程序证书
  • 在 chart 内创建自签名证书(如果支持)

在前两种情况下,需要证书和密钥。文件应为 .pem 格式。

加载自定义定义

可以加载 RabbitMQ 定义文件来配置 RabbitMQ。请按照以下步骤操作:

由于定义可能包含 RabbitMQ 凭据,将 JSON 存储为 Kubernetes secret。在 secret 的数据中,选择与所需加载定义文件名对应的键名(即 load_definition.json),并使用 JSON 对象作为值。

接下来,将 load_definitions 属性指定为指向容器内加载定义文件路径的 extraConfiguration(即 /app/load_definition.json),并将 loadDefinition.enable 设置为 true。任何指定的加载定义都将在容器内的 /app 目录中可用。

注意:加载定义将优先于通过 Helm 值 完成的任何配置。

如果需要,可以使用 extraSecrets 让 chart 为您创建 secret。这样,您无需在部署发布前手动创建它。这些 secret 也可以使用提供的 chart 值进行模板化。以下是一个示例:

auth:
  password: CHANGEME
extraSecrets:
  load-definition:
    load_definition.json: |
      {
        "users": [
          {
            "name": "{{ .Values.auth.username }}",
            "password": "{{ .Values.auth.password }}",
            "tags": "administrator"
          }
        ],
        "vhosts": [
          {
            "name": "/"
          }
        ]
      }
loadDefinition:
  enabled: true
  existingSecret: load-definition
extraConfiguration: |
  load_definitions = /app/load_definition.json

更新凭据

Bitnami RabbitMQ chart 在升级时会重用之前由 chart 呈现的 secret 或 auth.existingSecret 中指定的 secret。要更新凭据,请使用以下方法之一:

  • 运行 helm upgrade 并在 auth.password 中指定新密码,同时设置 auth.updatePassword=true
  • 运行 helm upgrade 并在 auth.existingSecret 中指定新 secret,同时设置 auth.updatePassword=true

配置 LDAP 支持

可以通过在创建发布时指定 ldap.* 参数来启用 chart 中的 LDAP 支持。例如:

ldap.enabled="true"
ldap.server="my-ldap-server"
ldap.port="389"
ldap.user_dn_pattern="cn=${username},dc=example,dc=org"

如果 ldap.tls.enabled 设置为 true,请考虑使用 ldap.port=636 并检查 advancedConfiguration chart 参数中的设置。

配置内存高水位线

可以使用 memoryHighWatermark.* 参数配置 RabbitMQ 的内存高水位线,以定义内存阈值。有两种选择:

  • 设置每个 RabbitMQ 节点要使用的 RAM 绝对限制,如以下配置示例所示:
memoryHighWatermark.enabled="true"
memoryHighWatermark.type="absolute"
memoryHighWatermark.value="512Mi"
  • 设置每个 RabbitMQ 节点要使用的 RAM 相对限制。要启用此功能,还需要在 pod 级别定义内存限制。以下是示例配置:
memoryHighWatermark.enabled="true"
memoryHighWatermark.type="relative"
memoryHighWatermark.value="0.4"
resources.limits.memory="2Gi"

使用插件

Bitnami Docker RabbitMQ 镜像默认附带一组插件。默认情况下,此 chart 启用 rabbitmq_management 和 rabbitmq_peer_discovery_k8s,因为它们是 RabbitMQ 在 K8s 上工作所必需的。

要启用额外的插件,请使用要启用的插件列表设置 extraPlugins 参数。此外,communityPlugins 参数可用于指定自定义 RabbitMQ 插件的 URL 列表(以空格分隔)。

communityPlugins="[***]"
extraPlugins="my-custom-plugin"

Docker 部署方案示例

Helm 安装命令

helm install my-release oci://registry-1.docker.io/bitnamicharts/rabbitmq

自定义参数安装

helm install my-release \
  --set replicaCount=3 \
  --set auth.username=admin \
  --set auth.password=secretpassword \
  --set auth.erlangCookie=secretcookie \
  oci://registry-1.docker.io/bitnamicharts/rabbitmq

使用现有持久卷声明

helm install my-release \
  --set persistence.existingClaim=my-rabbitmq-pvc \
  oci://registry-1.docker.io/bitnamicharts/rabbitmq

启用 Prometheus 监控

helm install my-release \
  --set metrics.enabled=true \
  --set metrics.serviceMonitor.enabled=true \
  oci://registry-1.docker.io/bitnamicharts/rabbitmq

持久化

Bitnami RabbitMQ 镜像将 RabbitMQ 数据和配置存储在容器的 /opt/bitnami/rabbitmq/var/lib/rabbitmq/ 路径中。

chart 在该位置挂载 Persistent Volume。默认情况下,使用动态卷配置创建卷。也可以定义现有的 PersistentVolumeClaim。

使用现有 PersistentVolumeClaims

  1. 创建 PersistentVolume
  2. 创建 PersistentVolumeClaim
  3. 安装 chart
helm install my-release --set persistence.existingClaim=PVC_NAME oci://REGISTRY_NAME/REPOSITORY_NAME/rabbitmq

注意:需要将占位符 REGISTRY_NAME 和 REPOSITORY_NAME 替换为 Helm chart 仓库和存储库的引用。例如,对于 Bitnami,需要使用 REGISTRY_NAME=registry-1.docker.io 和 REPOSITORY_NAME=bitnamicharts。

调整持久卷挂载点的权限

由于镜像默认以非 root 用户运行,因此需要调整持久卷的所有权,以便容器可以将数据写入其中。

默认情况下,chart 配置为使用 Kubernetes Security Context 自动更改卷的所有权。但是,此功能并非在所有 Kubernetes 发行版中都有效。

作为替代方案,此 chart 支持使用 initContainer 在将卷挂载到最终目标之前更改卷的所有权。

可以通过将 volumePermissions.enabled 设置为 true 来启用此 initContainer。

Prometheus 指标

RabbitMQ 具有内置支持用于在 GET /metrics 公开 Prometheus 指标。但是,这些指标都是集群范围的,不显示任何每队列或每节点指标。

要获取每对象指标,有一个第二个指标端点位于 GET /metrics/detailed,它接受查询参数以选择要查看的指标系列。例如,可以传递 family=node_coarse_metrics&family=queue_coarse_metrics 来查看每节点和每队列指标,而无需查看 Erlang、连接或通道指标。

此外,还有第三个指标端点:GET /metrics/per-object,它返回所有每对象指标。但是,在具有许多对象的大型集群上,这可能在计算上很昂贵,因此 RabbitMQ 文档建议使用上面提到的 GET /metrics/detailed 来过滤抓取内容,只获取给定监控应用程序所需的每对象指标。

由于它们公开不同的数据集,一个有效的用例是从 GET /metrics 和 GET /metrics/detailed 两者抓取指标,同时摄入集群级和每对象指标。metrics.serviceMonitor.default 和 metrics.serviceMonitor.detailed 值支持配置 ServiceMonitor,以针对这些指标中的一个或两个。

配置参数

全局参数

名称描述默认值
global.imageRegistry全局 Docker 镜像仓库""
global.imagePullSecrets全局 Docker 仓库密钥名称数组[]
global.defaultStorageClass持久卷的全局默认 StorageClass""
global.storageClass已弃用:使用 global.defaultStorageClass 代替""

镜像参数

名称描述默认值
image.registryRabbitMQ 镜像仓库docker.io
image.repositoryRabbitMQ 镜像仓库名称bitnami/rabbitmq
image.tagRabbitMQ 镜像标签3.12.10-debian-11-r2
image.pullPolicy镜像拉取策略IfNotPresent
image.pullSecrets镜像拉取密钥[]

认证参数

名称描述默认值
auth.usernameRabbitMQ 管理员用户名user
auth.passwordRabbitMQ 管理员密码随机生成
auth.erlangCookieErlang cookie随机生成
auth.existingSecret包含 RabbitMQ 凭据的现有 secret 名称""
auth.tls.enabled启用 TLS 认证false

持久化参数

名称描述默认值
persistence.enabled启用持久化存储true
persistence.existingClaim现有 PVC 的名称""
persistence.storageClassPVC 的 storage class""
persistence.sizePVC 的存储大小8Gi
persistence.accessModesPVC 的访问模式["ReadWriteOnce"]

资源参数

名称描述默认值
resources.limits资源限制{}
resources.requests资源请求{}
resourcesPreset资源预设""

网络参数

名称描述默认值
service.type服务类型ClusterIP
service.portAMQP 服务端口5672
service.nodePortAMQP 服务节点端口""
service.managementPort管理界面端口15672
service.managementNodePort管理界面节点
查看更多 rabbitmq 相关镜像 →
rabbitmq logo
rabbitmq
by library
官方
RabbitMQ是一款开源的多协议消息代理,主要用于在分布式系统中实现应用间的异步通信,支持AMQP、MQTT、STOMP等多种消息协议,能够有效解耦服务、提升系统可靠性与可扩展性,适用于微服务架构、实时数据处理及异步任务处理等场景,由Erlang语言开发,具备高并发、高可用特性,广泛应用于企业级系统。
53181B+ pulls
上次更新:10 天前
bitnami/rabbitmq logo
bitnami/rabbitmq
by VMware
认证
Bitnami Secure Image for rabbitmq是比特纳米公司推出的针对RabbitMQ消息代理的安全镜像,该镜像经专业安全加固,预装必要依赖与优化配置,可保障消息传输的机密性与完整性,支持快速部署至云平台、容器环境或本地服务器,能有效简化开发与运维流程,同时满足企业级安全合规需求,为分布式系统中的消息通信提供稳定可靠的安全运行环境。
130500M+ pulls
上次更新:1 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.