
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache RocketMQ Operator是一个基于Kubernetes Operator模式构建的工具,旨在简化Apache RocketMQ集群在Kubernetes环境中的部署、管理和全生命周期运维。通过自定义资源定义(CRD)和控制器,Operator能够自动化处理RocketMQ集群的创建、配置、扩缩容、升级和故障恢复等操作,降低人工运维成本,提高集群可靠性。
Apache RocketMQ Operator适用于需要在Kubernetes环境中构建高可用、可扩展消息系统的场景,主要包括:
安装CRD
创建RocketMQ Operator的自定义资源定义:
bashkubectl apply -f https://raw.githubusercontent.com/apache/rocketmq-operator/master/deploy/crds/rocketmq.apache.org_rocketmqclusters.yaml kubectl apply -f https://raw.githubusercontent.com/apache/rocketmq-operator/master/deploy/crds/rocketmq.apache.org_brokers.yaml kubectl apply -f https://raw.githubusercontent.com/apache/rocketmq-operator/master/deploy/crds/rocketmq.apache.org_nameservers.yaml
部署Operator控制器
部署Operator控制器到rocketmq-operator命名空间:
bashkubectl create namespace rocketmq-operator kubectl apply -f https://raw.githubusercontent.com/apache/rocketmq-operator/master/deploy/operator.yaml -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 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务