# 使用 EMQX Operator 在 Azure AKS 上部署 EMQX 集群

# 名词解释

EMQX: The most scalable open-source MQTT broker for IoT. 详见:EMQX文档 (opens new window)

EMQX Operator: A Kubernetes Operator for EMQX. 详见:EMQX Operator文档 (opens new window)

AKS: Azure Kubernetes 服务 (AKS)。详见:Azure 文档 (opens new window)

# 创建AKS集群

登录 Azure AKS 控制台,进入 Kubernetes 服务,创建 Kubernetes 集群。具体创建步骤参考:云厂商文档 (opens new window)

# 访问 Kubernetes 集群

建议通过 Azure 提供的 Cloud Shell 连接。具体创建步骤参考:云厂商文档 (opens new window)

# StorageClass 配置

这里采用 NSF 文件存储。其他 StorageClass 可参考 (opens new window)

创建 StroageClass

cat << "EOF" | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: azurefile-csi-nfs
provisioner: file.csi.azure.com
allowVolumeExpansion: true
parameters:
  protocol: nfs
mountOptions:
  - nconnect=8
EOF
1
2
3
4
5
6
7
8
9
10
11
12

查看该 StroageClass 是否创建成功

kubectl get sc
1

可以看到azurefile-csi-nfs已经成功创建

# 使用EMQX Operator 部署EMQX集群

Operator 安装参考 (opens new window)

Operator 安装完成后,使用以下yaml 在 azure 上进行部署 EMQX 集群

这里 service type采用LoadBalancer

# 关于 LoadBalancer 终结 TLS

由于 Azure LoadBalancer 不支持 TCP 证书,所以请参考这篇文档 (opens new window)解决 TCP 证书终结问题