安装 Operator 并部署 EMQX
本节将指导您准备 EMQX Operator 环境、安装 Operator 本身,然后使用它部署 EMQX。通过遵循提供的步骤,您可以使用 Operator 高效可靠地安装和管理 EMQX。
准备环境
在部署 EMQX Operator 之前,请确保以下组件已准备就绪:
- 运行 Kubernetes 1.24 或更高版本的 Kubernetes 环境。
- 一个可以访问 Kubernetes 集群的 kubectl 工具。您可以使用
kubectl cluster-info命令检查 Kubernetes 集群的状态。
安装 EMQX Operator
使用以下命令安装 EMQX Operator:
bash$ kubectl apply --server-side=true -f https://github.com/emqx/emqx-operator/releases/latest/download/install.yaml该命令将下载最新的 2.3.x 版本,在整个集群范围内安装 EMQX 的 CRD(自定义资源定义),并将控制器服务部署到独立的
emqx-operator-system命名空间中。等待 EMQX Operator 就绪:
bash$ kubectl wait --for=condition=Ready pods --namespace emqx-operator-system -l "control-plane=controller-manager" pod/emqx-operator-controller-manager-57bd7b8bd4-h2mcr condition met
Operator 运行后,您可以继续部署 EMQX。
部署 EMQX
将以下内容保存为 YAML 文件,并使用
kubectl apply部署。yamlapiVersion: apps.emqx.io/v2 kind: EMQX metadata: name: emqx spec: image: emqx/emqx:6.1.1 config: data: | license { key = "..." }有关 EMQX CRD 的更多详细信息,请查看 参考文档。
等待 EMQX 集群就绪。
bash$ kubectl get emqx NAME STATUS AGE emqx Ready 2m55s请确保
STATUS为Ready。EMQX 集群可能需要一些时间才能就绪。
故障排查
EMQX Operator 会向 Kubernetes API 暴露有限数量的事件。
sh
kubectl get events --sort-by=.lastTimestamp另外,如果 EMQX 资源未能进入 Ready 状态条件,请查看 controller manager 的日志以获取更多详细信息:
sh
kubectl logs -l "control-plane=controller-manager" --tail=-1 --namespace emqx-operator-system在公有云中部署 EMQX
使用以下指南,通过 EMQX Operator 在托管 Kubernetes 服务上部署 EMQX: