# EMQX Operator 简介

EMQX Broker/Enterprise 是一个云原生的 MQTT 消息中间件。 我们提供了 EMQX Kubernetes Operator 来帮助您在 Kubernetes 的环境上快速创建和管理 EMQX Broker/Enterprise 集群。 它可以大大简化部署和管理 EMQX 集群的流程,对于管理和配置的知识要求也更低。它把部署和管理的工作变成一种低成本的、标准化的、可重复性的能力。

EMQX Operator 包括但不限于以下功能:

  • 简化 EMQX 部署:通过 EMQX 自定义资源声明 EMQX 集群,并快速的部署,更多的内容,请查看快速开始

  • 管理 EMQX 集群:对 EMQX 进行自动化运维操作,包括集群升级、运行时数据持久化、根据 EMQX 的状态更新 Kubernetes 的资源等,更多的内容,请查看管理 EMQX 集群

# EMQX 与 EMQX Operator 的兼容性列表

# EMQX 企业版

EMQX 企业版EMQX Operator VersionAPIVersionKind
4.3.x (包含) ~ 4.41.2.1, 1.2.2, 1.2.3apps.emqx.io/v1beta3EmqxEnterprise
4.4.6 (包含) ~ 4.4.81.2.5apps.emqx.io/v1beta3EmqxEnterprise
4.4.8 (包含) ~ 4.4.141.2.6, 1.2.7, 1.2.8, 2.0.0, 2.0.1, 2.0.2, 2.0.3apps.emqx.io/v1beta3EmqxEnterprise
4.4.14 或更高 4.4.x2.1.0, 2.1.1apps.emqx.io/v1beta4EmqxEnterprise
5.0.0 或更高2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0, 2.1.1apps.emqx.io/v2alpha1EMQX

# EMQX 开源版

EMQX 开源版EMQX Operator VersionAPIVersionKind
4.3.x (包含) ~ 4.41.2.1, 1.2.2, 1.2.3apps.emqx.io/v1beta3EmqxBroker
4.4.6 (包含) ~ 4.4.81.2.5apps.emqx.io/v1beta3EmqxBroker
4.4.8 (包含) ~ 4.4.141.2.6, 1.2.7, 1.2.8, 2.0.0, 2.0.1, 2.0.2, 2.0.3apps.emqx.io/v1beta3EmqxBroker
4.4.14 或更高 4.4.x2.1.0, 2.1.1apps.emqx.io/v1beta4EmqxBroker
5.0.6 (包含) ~ 5.0.82.0.0, 2.0.1, 2.0.3apps.emqx.io/v2alpha1EMQX
5.0.8 (包含) ~ 5.0.142.0.2apps.emqx.io/v2alpha1EMQX
5.0.14 或更高2.1.0, 2.1.1apps.emqx.io/v2alpha1EMQX

# 如何选择 Kubernetes 版本

EMQX Operator 要求 Kubernetes 集群的版本号 >=1.24

Kubernetes 版本EMQX Operator 兼容性注释
1.24 更高支持所有功能
1.21 ( 包含) ~ 1.23支持,但是不包含 MixedProtocolLBService (opens new window)EMQX 集群只能在 LoadBalancer 类型的 Service 中使用一个协议,例如 TCP 或 UDP。
1.20 ( 包含) ~ 1.21支持,但是如果使用 NodePort 类型的 Service,需要手动管理 .spec.ports[].nodePort更多的详情,请查看 Kubernetes changelog (opens new window).
1.16 ( 包含) ~ 1.20支持,但是不推荐,因为缺乏足够的测试
低于 1.16不支持低于 1.16 版本的 Kubernetes 不支持 apiextensions/v1 APIVersion。