本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache RocketMQ Operator是一个基于Kubernetes Operator模式构建的工具,旨在简化Apache RocketMQ集群在Kubernetes环境中的部署、管理和全生命周期运维。通过自定义资源定义(CRD)和控制器,Operator能够自动化处理RocketMQ集群的创建、配置、扩缩容、升级和故障恢复等操作,降低人工运维成本,提高集群可靠性。
Apache RocketMQ Operator适用于需要在Kubernetes环境中构建高可用、可扩展消息系统的场景,主要包括:
安装CRD
创建RocketMQ Operator的自定义资源定义:
kubectl apply -f [***] kubectl apply -f [***] kubectl apply -f [***]
部署Operator控制器
部署Operator控制器到rocketmq-operator命名空间:
kubectl create namespace rocketmq-operator kubectl apply -f [***] -n rocketmq-operator
验证Operator部署
检查Operator Pod状态:
kubectl get pods -n rocketmq-operator
预期输出类似:
NAME READY STATUS RESTARTS AGE rocketmq-operator-7f9b6c7f9c-xyz 1/1 Running 0 5m
通过创建RocketMQCluster自定义资源部署RocketMQ集群,示例配置(rocketmq-cluster.yaml):
apiVersion: rocketmq.apache.org/v1alpha1 kind: RocketMQCluster metadata: name: example-rocketmq namespace: rocketmq spec: nameServer: replicas: 2 # NameServer副本数 image: apache/rocketmq-namesrv:4.9.4 # NameServer镜像 resources: requests: memory: "512Mi" cpu: "500m" limits: memory: "1Gi" cpu: "1000m" storageMode: PersistentVolume # 存储模式,可选PersistentVolume/EmptyDir storageSize: "10Gi" # 存储大小,仅PersistentVolume模式生效 broker: replicas: 2 # Broker副本数(每个副本包含1主1从) image: apache/rocketmq-broker:4.9.4 # Broker镜像 resources: requests: memory: "2Gi" cpu: "1000m" limits: memory: "4Gi" cpu: "2000m" storageMode: PersistentVolume storageSize: "100Gi" brokerClusterName: "DefaultCluster" # Broker集群名称 brokerRole: ASYNC_MASTER # Broker角色,可选ASYNC_MASTER/SYNC_MASTER deleteWhen: "04" # 消息删除时间点 fileReservedTime: 48 # 消息保留时间(小时)
应用配置:
kubectl create namespace rocketmq kubectl apply -f rocketmq-cluster.yaml -n rocketmq
检查集群组件状态:
# 查看NameServer Pod kubectl get pods -n rocketmq -l app=nameserver # 查看Broker Pod kubectl get pods -n rocketmq -l app=broker # 查看Service kubectl get svc -n rocketmq
修改RocketMQCluster资源的broker.replicas字段实现Broker扩缩容:
kubectl edit rocketmqcluster example-rocketmq -n rocketmq
将spec.broker.replicas从2修改为3,保存后Operator会自动创建新的Broker节点。
RocketMQCluster CRD的主要配置参数说明:
| 参数路径 | 描述 | 默认值 |
|---|---|---|
spec.nameServer.replicas | NameServer副本数量 | 2 |
spec.nameServer.image | NameServer镜像地址 | apache/rocketmq-namesrv:4.9.4 |
spec.broker.replicas | Broker副本数量(每个副本包含主从节点) | 2 |
spec.broker.image | Broker镜像地址 | apache/rocketmq-broker:4.9.4 |
spec.broker.brokerRole | Broker角色,可选ASYNC_MASTER(异步复制)或SYNC_MASTER(同步复制) | ASYNC_MASTER |
spec.broker.storageMode | 存储模式,可选PersistentVolume(持久化)或EmptyDir(临时存储) | PersistentVolume |
spec.broker.storageSize | 存储大小(仅PersistentVolume模式生效) | 100Gi |
免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429