# K8s 部署指南

通过 EMQX Kubernetes Operator (opens new window),您可在 Kubernetes (K8s)上自动化部署、配置和管理 EMQX 集群。

EMQX Operator 可以大大简化部署和管理 EMQX 集群的流程,对于管理和配置的知识要求也更低。它把部署和管理的工作变成一种低成本的、标注化的、可重复性的能力,实现滚动更新、自动化伸缩、集群和节点监控等常用功能。

提示

需要 Kubernetes v1.20.0 及以上版本。

# 部署 EMQX Kubernetes Operator

我们使用 cert-manager (opens new window) 来给 Webhook 服务提供证书。你可以通过 cert manager 文档 (opens new window)来安装。

  1. 通过 Helm 安装:
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
  1. 等待 EMQX Kubernetes Operator 控制器就绪
$ kubectl get pods -l "control-plane=controller-manager" -n emqx-operator-system
NAME                                                READY   STATUS    RESTARTS   AGE
emqx-operator-controller-manager-68b866c8bf-kd4g6   1/1     Running   0          15s
1
2
3

# 部署 EMQX

  1. 部署 EMQX 自定义资源
cat << "EOF" | kubectl apply -f -
  apiVersion: apps.emqx.io/v2alpha1
  kind: EMQX
  metadata:
    name: emqx
  spec:
    image: emqx/emqx:5.0.14
EOF
1
2
3
4
5
6
7
8

​ 您可前往 EMQX Kubernetes Operator 的 GitHub 页面 (opens new window) 查看完整代码示例;有关每个字段的详细解释,请参考 EMQX Operator - API (opens new window)

  1. 检查 EMQX 自定义资源状态
kubectl get pods
kubectl get emqx emqx -o json | jq ".status.emqxNodes"
1
2

至此您已经通过 EMQX Kubernetes Operator 完成了 EMQX 集群的部署。

您可访问以下链接了解如何进行集群参数配置: {% emqxce %}

# 公有云平台上部署 EMQX 集群

以下内容将指导您通过 Operator,在公有云 K8s 平台上部署 EMQX 集群:

# 下一步

使用客户端连接到 EMQX,进行消息收发请参考 发布订阅操作