{"id":43194724,"url":"https://github.com/itboon/rocketmq-helm","last_synced_at":"2026-02-04T09:30:11.603Z","repository":{"id":39304762,"uuid":"481237984","full_name":"itboon/rocketmq-helm","owner":"itboon","description":"helm 部署高可用 RocketMQ","archived":false,"fork":false,"pushed_at":"2026-01-19T13:17:34.000Z","size":145,"stargazers_count":116,"open_issues_count":11,"forks_count":39,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-19T19:43:45.640Z","etag":null,"topics":["helm-chart","helm-charts","kubernetes","rocketmq","rocketmq-helm-chart","rocketmq-kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go Template","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itboon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-13T13:57:01.000Z","updated_at":"2026-01-19T13:17:29.000Z","dependencies_parsed_at":"2023-12-27T16:27:30.260Z","dependency_job_id":"83cda7d4-2685-48fc-847d-5827e59ef200","html_url":"https://github.com/itboon/rocketmq-helm","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/itboon/rocketmq-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itboon%2Frocketmq-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itboon%2Frocketmq-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itboon%2Frocketmq-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itboon%2Frocketmq-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itboon","download_url":"https://codeload.github.com/itboon/rocketmq-helm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itboon%2Frocketmq-helm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28969112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T04:44:20.970Z","status":"ssl_error","status_checked_at":"2026-02-01T04:44:19.994Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helm-chart","helm-charts","kubernetes","rocketmq","rocketmq-helm-chart","rocketmq-kubernetes"],"created_at":"2026-02-01T05:15:06.742Z","updated_at":"2026-02-01T05:15:07.188Z","avatar_url":"https://github.com/itboon.png","language":"Go Template","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RocketMQ Helm Chart\n\nhttps://github.com/itboon/rocketmq-helm\n\n## 版本兼容性\n\n- Kubernetes 1.18+\n- Helm 3.3+\n- RocketMQ `\u003e= 4.5`\n\n## 添加 helm 仓库\n\n``` shell\n## 添加 helm 仓库\nhelm repo add rocketmq-repo https://helm-charts.itboon.top/rocketmq\nhelm repo update rocketmq-repo\n```\n\n## 部署案例\n\n``` shell\n## 部署一个最小化的 rocketmq 集群\n## 这里关闭持久化存储，仅演示部署效果\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  --set broker.persistence.enabled=\"false\" \\\n  rocketmq-repo/rocketmq\n```\n\n``` shell\n## 部署测试集群, 启用 Dashboard (默认已开启持久化存储)\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  --set dashboard.enabled=\"true\" \\\n  rocketmq-repo/rocketmq\n```\n\n### 部署高可用集群版\n\n``` shell\n## rocketmq-cluster 默认部署 2个 master 节点\n## 每个 master 具有1个副节点，共4个 broker 节点\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  rocketmq-repo/rocketmq-cluster\n\n```\n\n``` shell\n## 部署 3个 master 节点，每个 master 具有1个副节点，共6个 broker 节点\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  --set broker.size.master=\"3\" \\\n  rocketmq-repo/rocketmq-cluster\n\n```\n\n``` shell\n## 调整内存配额\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  --set broker.master.jvm.maxHeapSize=\"4G\" \\\n  --set broker.master.resources.requests.memory=\"6Gi\" \\\n  rocketmq-repo/rocketmq-cluster\n\n```\n\n\u003e 具体资源配额请根据实际环境调整，参考 [examples](https://github.com/itboon/rocketmq-helm/tree/main/examples)\n\n## 部署详情\n\n### 集群外访问\n\n#### 通过 proxy 实现集群外访问\n\n可以将 proxy 暴露到集群外，支持 `LoadBalancer` 和 `NodePort`\n\n\u003e proxy 是 RocketMQ 5.x 版本新增的模块，这种模式能够更好的适应复杂的网络环境，尤其是 k8s 集群内外互通，详情请参考[官方文档](https://rocketmq.apache.org/version/#whats-new-in-rocketmq-50)\n\n``` yaml\nproxy:\n  service:\n    annotations: {}\n    type: NodePort  ## LoadBalancer or NodePort\n```\n\n#### hostNetwork\n\nbroker 支持 `hostNetwork`，即 pod 使用主机网络命名空间，这种方式的缺点是每个 node 节点最多只能调度一个 broker\n\n``` yaml\nbroker:\n  hostNetwork: true\n\nnameserver:\n  service:\n    type: NodePort  ## LoadBalancer or NodePort\n```\n\n建议优先使用 proxy 实现集群外访问，`hostNetwork` 作为向下兼容的备选方案。\n\n\u003e 仅 broker 支持 `hostNetwork`，其他组件可以使用 `NodePort`\n\n### 可选组件\n\n``` yaml\n## 关闭 proxy\nproxy:\n  enabled: false  ## 默认 true\n\n## 关闭 dashboard\ndashboard:\n  enabled: false  ## 默认 true\n```\n\n### Dashboard 登录认证\n\nDashboard admin 帐号密码:\n\n``` yaml\ndashboard:\n  enabled: true\n  auth:\n    enabled: true\n    users:\n      - name: admin\n        password: admin\n        isAdmin: true\n      - name: user01\n        password: userPass\n```\n\n### 镜像仓库\n\n``` yaml\nimage:\n  repository: apache/rocketmq\n  # tag: 5.2.0\n  tag: 4.9.7\n```\n\n### 部署特定版本\n\n``` shell\nhelm upgrade --install rocketmq \\\n  --namespace rocketmq-demo \\\n  --create-namespace \\\n  --set image.tag=\"5.2.0\" \\\n  rocketmq-repo/rocketmq\n```\n\n### 内存管理\n\n集群每个模块提供堆内存管理，例如 `--set broker.master.jvm.maxHeapSize=\"1024M\"` 将堆内存设置为 `1024M`，默认 `Xms` `Xmx` 相等。堆内存配额应该与 Pod `resources` 相匹配。\n\n\u003e 可使用 `jvm.javaOptsOverride` 对 jvm 参数进行修改，设置了此参数则 `maxHeapSize` 失效。\n\n```yaml\nbroker:\n  master:\n    jvm:\n      maxHeapSize: 1024M\n      # javaOptsOverride: \"-Xms1024M -Xmx1024M -XX:+UseG1GC\"\n    resources:\n      requests:\n        cpu: 100m\n        memory: 2Gi\n\nnameserver:\n  jvm:\n    maxHeapSize: 1024M\n    # javaOptsOverride: \"-Xms1024M -Xmx1024M -XX:+UseG1GC\"\n  resources:\n    requests:\n      cpu: 100m\n      memory: 2Gi\n```\n\n## Broker 集群架构\n\n### 单 Master 模式\n\n``` yaml\nbroker:\n  size:\n    master: 1\n    replica: 0\n```\n\n### 多 Master 模式\n\n一个集群无Slave，全是Master，例如2个Master或者3个Master，这种模式的优缺点如下：\n\n- 优点：配置简单，单个Master宕机或重启维护对应用无影响，性能最高；\n- 缺点：单台机器宕机期间，这台机器上未被消费的消息在机器恢复之前不可订阅，消息实时性会受到影响。\n\n``` yaml\nbroker:\n  size:\n    master: 3\n    replica: 0\n```\n\n### 多 Master 多 Slave 模式\n\n每个Master配置一个Slave，有多对Master-Slave，HA采用异步复制方式，主备有短暂消息延迟（毫秒级），这种模式的优缺点如下：\n\n- 优点：Master宕机后，消费者仍然可以从Slave消费，而且此过程对应用透明，不需要人工干预，性能同多Master模式几乎一样。\n\n``` yaml\nbroker:\n  size:\n    master: 3\n    replica: 1\n# 3个 master 节点，每个 master 具有1个副节点，共6个 broker 节点\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitboon%2Frocketmq-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitboon%2Frocketmq-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitboon%2Frocketmq-helm/lists"}