Webinar
让 AI Agents 协同工作:探索 A2A over MQTT 与 EMQX A2A Registry|立即报名 →

EMQX ON KUBERNETES

基于 Kubernetes 的云原生 MQTT

使用 EMQX Operator 在 Kubernetes 上部署、管理和扩展 EMQX 集群。

概览

为什么在 Kubernetes 上运行 EMQX?

通过 EMQX Operator 扩展 MQTT 工作负载,简化集群运维。

随业务负载弹性扩展

根据连接数和消息流量的变化调整 EMQX 节点副本数,并借助 Kubernetes 资源配置为业务负载规划容量。

为故障恢复做好准备

将多个 EMQX 节点分散运行在不同的工作节点或故障域中。除了 Kubernetes 的 Pod 自动恢复,还需配合合适的存储和客户端重连设置。

简化集群运维

用 YAML 声明 EMQX 集群,由 Operator 自动将相关资源调整到期望状态。部署和配置变更均可沿用现有的 Kubernetes 工作流。

架构

EMQX Operator 架构

设备通过 Kubernetes Service 连接至 EMQX,由 Operator 管理集群。

核心能力

管理 EMQX 集群的生命周期

借助 EMQX Operator 自动完成 EMQX 的部署、扩缩容和维护。

灵活扩缩容

在自定义资源中设置 EMQX 节点副本数。如需自动扩缩容,请确认当前 Operator 版本和部署模式是否支持 HPA。

扩缩容 API 参考

声明式部署

在自定义资源中定义 EMQX 镜像、节点副本数和服务配置,然后将其应用到现有的 Kubernetes 集群。

可控的集群升级

通过 Operator 协调 EMQX 版本升级。提前规划节点可用性,为 MQTT 客户端重连留出余地,并在上线生产环境前完成升级测试。

升级策略指南

Prometheus 与 Grafana 监控

使用 Prometheus 采集 EMQX 指标,通过 Grafana 仪表盘掌握集群健康状况。如需更多指标,可配置 EMQX Exporter。

监控指南

配置即代码

通过自定义资源管理 EMQX 支持的配置项,包括监听器和认证。请使用与当前 Operator 版本对应的 API 应用配置变更。

配置指南

云端与本地部署

EMQX Operator 既可用于托管 Kubernetes 服务,也可用于自建集群。网络、存储和访问控制可按各环境的需要进行调整。

客户案例

BAIC MOTOR 扩展车联网消息服务

BAIC MOTOR 在 Kubernetes 上运行 EMQX 承载车联网消息,支撑数十万并发 MQTT 连接。

“EMQX Kubernetes Operator 彻底改变了我们的 MQTT 服务。现在我们能以低延迟、高可靠性处理数十万并发 MQTT 连接。Kubernetes 的弹性伸缩和自动化运维还帮助我们快速拓展物联网业务至新市场。”

——BAIC MOTOR 工程团队

工作原理

使用 EMQX Operator 部署

准备好兼容的 Kubernetes 集群和 EMQX Operator 版本,然后依次完成安装、配置和连接。

开始之前

  • 核对 Kubernetes、EMQX 与 Operator 的版本兼容性。
  • 确认可通过 kubectl 访问集群。
  • 核对 EMQX 许可证要求。
  1. 1

    安装 Operator

    按照文档提供的安装清单,在 Kubernetes 集群中安装 EMQX Operator,并等待控制器就绪。

  2. 2

    定义您的 EMQX 集群

    用 YAML 创建 EMQX 自定义资源,指定 EMQX 镜像、节点副本数以及当前 Operator 版本支持的配置项。

  3. 3

    部署并连接客户端

    使用 kubectl 应用清单,等待集群状态变为 Ready。配置 MQTT 监听器的访问方式,然后测试客户端连接。

部署

在托管 Kubernetes 上部署

参照 EMQX Operator 部署指南,在 Amazon EKS、Azure AKS 和 Google Kubernetes Engine 上完成部署。

Amazon EKS

使用 Operator 在 Amazon Elastic Kubernetes Service 上部署 EMQX。

EKS 部署指南

Azure AKS

使用 Operator 在 Azure Kubernetes Service 上部署 EMQX。

AKS 部署指南

Google Kubernetes Engine

使用 Operator 在 Google Cloud 的托管 Kubernetes 服务上部署 EMQX。

GKE 部署指南

应用场景

为 Kubernetes 上的物联网应用而构建

依托您的 Kubernetes 基础设施,为车辆、工厂和物联网平台运行 MQTT 服务。

车联网平台

采集车辆遥测数据,并向联网车队下发消息。随着连接数和消息量的变化,通过 Kubernetes 调整 MQTT 服务器容量。

了解车联网方案

工业物联网消息服务

通过 EMQX 连接工厂设备、传感器和网关,将 MQTT 数据传送到下游的监控和分析系统,同时在 Kubernetes 上管理 MQTT 服务器。

了解工业物联网方案

多租户 MQTT 服务

为物联网平台或对外服务运营 MQTT 集群。认证、主题授权和租户隔离需在 Operator 的集群管理之外单独配置。

资源

探索 Kubernetes 上的 EMQX

FAQ

常见问题

在 Kubernetes 上部署 MQTT 平台

通过 Operator 部署 EMQX,或与 EMQX 专家一起规划 Kubernetes 架构。