apache/rocketmq-operatorApache RocketMQ Operator是一个基于Kubernetes Operator模式构建的工具,旨在简化Apache RocketMQ集群在Kubernetes环境中的部署、管理和全生命周期运维。通过自定义资源定义(CRD)和控制器,Operator能够自动化处理RocketMQ集群的创建、配置、扩缩容、升级和故障恢复等操作,降低人工运维成本,提高集群可靠性。
Apache RocketMQ Operator适用于需要在Kubernetes环境中构建高可用、可扩展消息系统的场景,主要包括:
安装CRD
创建RocketMQ Operator的自定义资源定义:
bashkubectl apply -f [***] kubectl apply -f [***] kubectl apply -f [***]
部署Operator控制器
部署Operator控制器到rocketmq-operator命名空间:
bashkubectl create namespace rocketmq-operator kubectl apply -f [***] -n rocketmq-operator
验证Operator部署
检查Operator Pod状态:
bashkubectl get pods -n rocketmq-operator
预期输出类似:
NAME READY STATUS RESTARTS AGE rocketmq-operator-7f9b6c7f9c-xyz 1/1 Running 0 5m
通过创建RocketMQCluster自定义资源部署RocketMQ集群,示例配置(rocketmq-cluster.yaml):
yamlapiVersion: 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 # 消息保留时间(小时)
应用配置:
bashkubectl create namespace rocketmq kubectl apply -f rocketmq-cluster.yaml -n rocketmq
检查集群组件状态:
bash# 查看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扩缩容:
bashkubectl 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 |

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务