随着 Kubernetes(K8s)的全面成熟,越来越多的组织开始大规模地基于 K8s 构建基础设施层。
根据 Sysdig 在容器编排领域的调研报告,K8s 在市场上的占有率高达 75%。在 K8s 部署运维工具中,Operator 和 Helm 是较为主流的两种。但由于 Helm 缺少对生命周期的管理,所以 Operator 在全生命期的管理中成为了唯一的选择。
K8s Operator 是一种特定于应用的控制器,能持续监听 K8s 资源对象的变化事件,进行全生命期的监控响应,高可靠地完成部署交付。Operator 提供了一个框架,通俗来说就是把运维的经验沉淀为代码,实现运维的代码化、自动化、智能化。
为了对云原生分布式 MQTT 消息服务器 EMQX 进行全生命期管理, EMQX Operator 应运而生。 使用 EMQX Operator,即使在网络和存储环境复杂的 K8s 环境中,也可以轻松搭建百万连接的 MQTT 集群。本文将使用 EMQX Operator 进行基于 K8s 的百万级 MQTT 连接服务搭建,并通过测试验证搭建结果。
什么是 EMQX Operator
EMQX 是基于 Erlang/OTP 平台开发的云原生分布式 MQTT 消息服务器。随着云原生理念的深入,以及 K8s 和 Operator 概念的普及,我们开发了 EMQX Operator ( https://github.com/emqx/emqx-operator),它可以在 Kubernetes 的环境上快速创建和管理 EMQX 集群,实现对 EMQX 生命周期的管理,大大简化部署和管理 EMQX 集群的流程。其主要有以下功能优势:
- 降低 EMQX 在 K8s 环境中部署成本
- 提供对持久化数据备份和恢复的基础能力
- 提供对 EMQX Plugin 独立部署、管理、配置持久化的能力(即将支持)
- 动态更新 Licence 和 SSL 等
- 自动化运维(高可用、扩容、异常处理)

本文介绍了如何利用EMQXOperator在Kubernetes环境中搭建并管理EMQX集群,实现MQTT消息服务器的全生命周期管理。通过内核参数调优和EMQXOperator的配置,成功部署了能够支持百万级连接的MQTT服务,并通过测试验证了其性能和稳定性。
最低0.47元/天 解锁文章
278

被折叠的 条评论
为什么被折叠?



