利用 EMQX Operator 部署 EMQX 集群
EMQX Operator 最新信息, 请访问 github
使用 cert-manager 给 webhook 服务提供证书,可以参考 cert-manager 文档 安装
可以通过如下两种方式之一来安装 Operator Controller:
- 使用静态文件安装
shellcurl -f -L "https://github.com/emqx/emqx-operator/releases/download/1.1.10/emqx-operator-controller.yaml" | kubectl apply -f -
使用 Helm 安装
- 添加 EMQX Helm 仓库
shellhelm repo add emqx https://repos.emqx.io/charts helm repo update
- 用 Helm 安装 EMQX Operator 控制器
shell$ helm install emqx-operator emqx/emqx-operator \ --set installCRDs=true \ --namespace emqx-operator-system \ --create-namespace
检查 EMQX Operator 控制器状态
shell$ 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
- 部署 EMQX Broker
部署 EMQX Custom Resource
shell$ cat << "EOF" | kubectl apply -f - apiVersion: apps.emqx.io/v1beta2 kind: EmqxBroker metadata: name: emqx spec: image: emqx/emqx:4.3.11 EOF
检查 EMQX 状态
shell$ kubectl get pods NAME READY STATUS RESTARTS AGE emqx-0 1/1 Running 0 22s emqx-1 1/1 Running 0 22s emqx-2 1/1 Running 0 22s $ kubectl exec -it emqx-0 -- emqx_ctl status Node 'emqx@emqx-0.emqx-headless.default.svc.cluster.local' 4.3.11 is started $ kubectl exec -it emqx-0 -- emqx_ctl cluster status Cluster status: #{running_nodes => ['emqx@emqx-0.emqx-headless.default.svc.cluster.local', 'emqx@emqx-1.emqx-headless.default.svc.cluster.local', 'emqx@emqx-2.emqx-headless.default.svc.cluster.local'], stopped_nodes => []}