在本文中,我们将指导您完成高效设置 EMQX Operator 环境、安装 EMQX Operator,然后使用它部署 EMQX 所需的步骤。通过遵循本节中概述的指南,您将能够使用 EMQX Operator 有效地安装和管理 EMQX。
在部署 EMQX Operator 之前,请确认以下组件已经准备就绪:
-
一个正在运行的 Kubernetes 集群,关于 Kubernetes 的版本,请查看如何选择 Kubernetes 版本
-
一个可以访问 Kubernetes 集群的 kubectl 工具。您可以使用
kubectl cluster-info
命令检查 Kubernetes 集群的状态。 -
Helm 3 或更高
-
安装
cert-manger
。::: tip 需要
cert-manager
版本1.1.6
或更高。如果cert-manager
已经安装并启动,请跳过此步骤。 :::你可以使用 Helm 来安装
cert-manager
。$ helm repo add jetstack https://charts.jetstack.io $ helm repo update $ helm upgrade --install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --set crds.enabled=true
或者按照 cert-manager 安装指南来安装它。
::: warning 如果您在 Google Kubernetes Engine(GKE) 上安装它。那么通过默认配置安装可能会导致 bootstraping 问题。所以通过增加
--set global.leaderElection.namespace=cert-manager
这个配置为 leader 选举使用不同的命名空间。查看 cert-manager 兼容性 ::: -
运行以下命令来安装 EMQX Operator。
$ helm repo add emqx https://repos.emqx.io/charts $ helm repo update $ helm upgrade --install emqx-operator emqx/emqx-operator \ --namespace emqx-operator-system \ --create-namespace
-
等待 EMQX Operator 就绪。
$ kubectl wait --for=condition=Ready pods -l "control-plane=controller-manager" -n emqx-operator-system pod/emqx-operator-controller-manager-57bd7b8bd4-h2mcr condition met
现在你已经成功的安装 EMQX Operator,你可以继续下一步了。在部署 EMQX 部分中,您将学习如何使用 EMQX Operator 来部署 EMQX。
:::: tabs type:card
::: tab EMQX Enterprise 5
-
将下面的 YAML 配置文件保存为
emqx.yaml
。apiVersion: apps.emqx.io/v2beta1 kind: EMQX metadata: name: emqx-ee spec: image: emqx/emqx-enterprise:5.6
并使用
kubectl apply
命令来部署 EMQX。$ kubectl apply -f emqx.yaml
关于 EMQX 自定义资源的更多信息,请查看 API 参考
-
检查 EMQX 集群状态,请确保 STATUS 为 Running,这可能需要一些时间等待 EMQX 集群准备就绪。
$ kubectl get emqx NAME IMAGE STATUS AGE emqx-ee emqx/emqx-enterprise:5.1.0 Running 2m55s
:::
::: tab EMQX Open Source 5
-
将下面的 YAML 配置文件保存为
emqx.yaml
。apiVersion: apps.emqx.io/v2beta1 kind: EMQX metadata: name: emqx spec: image: emqx:5
并使用
kubectl apply
命令来部署 EMQX。$ kubectl apply -f emqx.yaml
关于 EMQX 自定义资源的更多信息,请查看 API 参考
-
检查 EMQX 集群状态,请确保 STATUS 为 Running,这可能需要一些时间等待 EMQX 集群准备就绪。
$ kubectl get emqx NAME IMAGE STATUS AGE emqx emqx:5.1 Running 2m55s
:::
::: tab EMQX Enterprise 4
-
将下面的 YAML 配置文件保存为
emqx.yaml
。apiVersion: apps.emqx.io/v1beta4 kind: EmqxEnterprise metadata: name: emqx-ee spec: template: spec: emqxContainer: image: repository: emqx/emqx-ee version: 4.4.19
并使用
kubectl apply
命令来部署 EMQX。$ kubectl apply -f emqx.yaml
关于 EMQX 自定义资源的更多信息,请查看 API 参考
-
等待 EMQX 集群就绪。
$ kubectl get emqxenterprises NAME STATUS AGE emqx-ee Running 8m33s
请确保 STATUS
为 Running
,这可能需要一些时间等待 EMQX 集群准备就绪。
:::
::: tab EMQX Open Source 4
-
将下面的 YAML 配置文件保存为
emqx.yaml
。apiVersion: apps.emqx.io/v1beta4 kind: EmqxBroker metadata: name: emqx spec: template: spec: emqxContainer: image: repository: emqx version: 4.4.19
并使用
kubectl apply
命令来部署 EMQX。$ kubectl apply -f emqx.yaml
关于 EMQX 自定义资源的更多信息,请查看 API 参考
-
等待 EMQX 集群就绪。
$ kubectl get emqxbrokers NAME STATUS AGE emqx Running 8m33s
请确保 STATUS
为 Running
,这可能需要一些时间等待 EMQX 集群准备就绪。
:::
::::