Install EMQX Cluster with EMQX Operator
For more information about latest EMQX Operator, please access github
(opens new window).
Use cert-manager
(opens new window) for provisioning the certificates for the webhook server. Please follow the cert-manager documentation
(opens new window) to install it。Install Operator Controller Manager service in one of the following ways:
- Install with default static files
curl -f -L "https://github.com/emqx/emqx-operator/releases/download/1.2.2/emqx-operator-controller.yaml" | kubectl apply -f -
- Install with Helm
- Add the EMQX Helm repository
helm repo add emqx https://repos.emqx.io/chartshelm repo update
- Install EMQX Operator Controller by Helm
$ helm install emqx-operator emqx/emqx-operator \--set installCRDs=true \--namespace emqx-operator-system \--create-namespace
Check EMQX Operator Controller Status
$ kubectl get pods -l "control-plane=controller-manager" -n emqx-operator-systemNAME READY STATUS RESTARTS AGEemqx-operator-controller-manager-68b866c8bf-kd4g6 1/1 Running 0 15s
Deploy the EMQX Broker
Deploy EMQX Custom Resource
$ cat << "EOF" | kubectl apply -f -apiVersion: apps.emqx.io/v1beta3kind: EmqxBrokermetadata:name: emqxlabels:"foo": "bar"spec:emqxTemplate:image: emqx/emqx:4.4.5EOF
Check EMQX status
$ kubectl get podsNAME READY STATUS RESTARTS AGEemqx-0 2/2 Running 0 22semqx-1 2/2 Running 0 22semqx-2 2/2 Running 0 22s$ kubectl exec -it emqx-0 -c emqx -- emqx_ctl statusNode 'emqx@emqx-0.emqx-headless.default.svc.cluster.local' 4.4.5 is started$ kubectl exec -it emqx-0 -c emqx -- emqx_ctl cluster statusCluster 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 => []}
