# K8s 部署指南
EMQX Kubernetes Operator (opens new window) 可以帮助您快速在 Kubernetes 的环境上快速创建和管理 EMQX Enterprise 集群。 通过集成滚动更新、自动化伸缩、集群和节点监控等常用功能,EMQX Operator 可以极大简化 EMQX 集群的部署和管理流程,将部署和管理的工作变成一种低成本的、标注化的、可重复性的能力。
环境准备
部署前,确认以下组件已经安装:
软件 | 版本要求 |
---|---|
Kubernetes (opens new window) | 1.24 及以上 |
Helm (opens new window) | 3.0.0 及以上 |
cert-manager (opens new window) | 1.1.6 及以上 |
# 部署 EMQX Operator
EMQX 使用 cert-manager (opens new window) 来给 Webhook 服务提供证书。有关如何安装,可参考 cert manager 手册 - 安装部分 (opens new window)。
# 安装 EMQX Operator
通过 Helm 安装 EMQX Operator。
helm repo add emqx https://repos.emqx.io/charts helm repo update helm install emqx-operator emqx/emqx-operator --namespace emqx-operator-system --create-namespace
1
2
3等待 EMQX Operator 控制器就绪。
$ kubectl get pods -l "control-plane=controller-manager" -n emqx-operator-system
1如 EMQX Operator 已就绪,可以看到类似命令返回:
NAME READY STATUS RESTARTS AGE emqx-operator-controller-manager-68b866c8bf-kd4g6 1/1 Running 0 15s
1
2
# 升级 EMQX Operator
执行下面的命令可以升级 EMQX Operator,若想指定到升级版只需要增加 --version=x.x.x
参数即可。注意:不支持 1.x.x 版本升级到 2.x.x 版本。
helm upgrade emqx-operator emqx/emqx-operator -n emqx-operator-system
# 卸载 EMQX Operator
执行如下命令卸载 EMQX Operator
helm uninstall emqx-operator -n emqx-operator-system
# 部署 EMQX
运行以下命令部署 EMQX。
cat << "EOF" | kubectl apply -f - apiVersion: apps.emqx.io/v2alpha1 kind: EMQX metadata: name: emqx spec: image: emqx/emqx:5.0.20 EOF
1
2
3
4
5
6
7
8如希望查看完整代码示例,可前往 GitHub 查看 emqx-full.yaml 页面 (opens new window) ;有关每个字段的详细解释,可参考 EMQX Operator - API (opens new window)。
运行以下命令检查 EMQX 集群是否就绪。
kubectl get pods kubectl get emqx emqx -o json | jq ".status.emqxNodes"
1
2由于需要等待所有的 EMQX 节点启动并加入集群,因此需要一定的等待时间,之后可以看到类似如下的代码返回,表示 EMQX 集群已就绪。
{ "lastTransitionTime": "2023-02-13T02:38:25Z", "lastUpdateTime": "2023-02-13T02:44:19Z", "message": "All resources are ready", "reason": "ClusterReady", "status": "True", "type": "Running" }
1
2
3
4
5
6
7
8
至此您已经通过 EMQX Kubernetes Operator 完成了 EMQX 集群的部署。
您可访问以下链接了解如何进行集群参数配置:
EMQX Operator - 通用配置 (opens new window)
配置 EMQX logs 采集 (opens new window)
配置 EMQX Core 和 Replicant 节点 (opens new window)
配置 EMQX TLS 证书 (opens new window)
配置 EMQX License (opens new window)
配置 EMQX 持久化 (opens new window)
# 在公有云平台上部署 EMQX 集群
如希望在公有云 K8s 平台上部署 EMQX 集群,可阅读如下页面:
- 阿里 ACK 上部署 EMQX 集群 (opens new window)
- 华为 CCE 上部署 EMQX 集群 (opens new window)
- AWS EKS 上部署 EMQX 集群 (opens new window)
- 腾讯云 TKE 上部署 EMQX 集群 (opens new window)
- Azure AKS 上部署 EMQX 集群 (opens new window)
# 下一步
使用客户端连接到 EMQX,进行消息收发请参考 发布订阅操作。
← Docker 部署指南 Debian →