Skip to content

Commit c5287f2

Browse files
committed
docs: add translations
1 parent 06ebcb4 commit c5287f2

18 files changed

+928
-994
lines changed

zh_CN/deploy/kubernetes/operator/aws-eks.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
# 在 Amazon EKS 中部署 EMQX
22

3-
EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)上部署 EMQX。Amazon EKS 是一种托管的 Kubernetes 服务,可让您轻松部署、管理和扩展容器化应用程序。EKS 提供了 Kubernetes 控制平面和节点组,自动处理节点替换、升级和修补。它支持 AWS 服务,如 Load Balancers、RDS 和 IAM,并与其他 Kubernetes 生态系统工具无缝集成。详情请查看 [什么是 Amazon EKS](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/what-is-eks.html)
3+
EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)上运行。Amazon EKS 是一种托管的 Kubernetes 服务,可简化容器化应用程序的部署、管理和扩展。EKS 提供了 Kubernetes 控制平面和节点组,自动处理节点替换、升级和修补。它支持 AWS 服务,如 Load Balancers、RDS 和 IAM,并与其他 Kubernetes 生态系统工具无缝集成。
4+
5+
有关详细介绍,请参阅 [什么是 Amazon EKS](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/what-is-eks.html)
46

57
## 前提条件
68

7-
在开始之前,您需要准备以下内容:
9+
在 EKS 上部署 EMQX 之前,请确保您已完成以下先决条件:
10+
11+
- 创建 EKS 集群。<br/>有关更多详细信息,请参阅 [创建 Amazon EKS 集群](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started.html)
812

9-
- 开通 Amazon 容器服务,并创建一个 EKS 集群,具体请参考:[创建 Amazon EKS 集群](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started.html)
13+
- 配置 kubectl 以连接到您的 EKS 集群。<br/>有关更多详细信息,请参阅 [使用 kubectl 连接集群](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started-console.html#eks-configure-kubectl)
1014

11-
- 通过本地安装 kubectl 工具连接 EKS 集群:具体请参考:[使用 kubectl 连接集群](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started-console.html#eks-configure-kubectl)
15+
- 在集群上部署 AWS Load Balancer Controller。<br/>有关更多详细信息,请参阅 [创建网络负载均衡器](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/network-load-balancing.html)
1216

13-
- 在集群上部署 AWS Load Balancer Controller,具体请参考:[创建网络负载均衡器](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/network-load-balancing.html)
17+
- 在集群上安装 Amazon EBS CSI 驱动程序。<br/>有关更多详细信息,请参阅 [Amazon EBS CSI 驱动程序](https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/ebs-csi.html)
1418

15-
- 安装 EMQX Operator:具体请参考:[安装 EMQX Operator](./getting-started.md)
19+
- 安装 EMQX Operator。<br/>有关更多详细信息,请参阅 [安装 EMQX Operator](./getting-started.md)
1620

17-
## 快速部署一个 EMQX 集群
21+
## 快速部署 EMQX 集群
1822

19-
下面是 EMQX 自定义资源的相关配置。你可以根据你想部署的 EMQX 版本选择相应的 APIVersion。关于具体的兼容性关系,请参考 [EMQX 与 EMQX Operator 的兼容性列表](./operator.md)
23+
以下示例演示了在 EKS 上部署的相关 EMQX 自定义资源(CR)配置
2024

2125
:::: tabs type:card
2226
::: tab apps.emqx.io/v2beta1
@@ -92,7 +96,7 @@ EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)
9296

9397
```bash
9498
$ kubectl get svc emqx-dashboard -o json | jq '.status.loadBalancer.ingress[0].ip'
95-
99+
96100
192.168.1.200
97101
```
98102

@@ -163,7 +167,7 @@ EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)
163167

164168
```bash
165169
$ kubectl get svc emqx-ee -o json | jq '.status.loadBalancer.ingress[0].ip'
166-
170+
167171
192.168.1.200
168172
```
169173

@@ -199,7 +203,7 @@ EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)
199203

200204
```bash
201205
$ mqttx sub -t 'hello' -h ${external_ip} -p 1883
202-
206+
203207
[10:00:25] › … Connecting...
204208
[10:00:25] › ✔ Connected
205209
[10:00:25] › … Subscribing to hello...
@@ -210,7 +214,7 @@ EMQX Operator 支持在 Amazon 容器服务 EKS(Elastic Kubernetes Service)
210214

211215
```bash
212216
$ mqttx pub -t 'hello' -h ${external_ip} -p 1883 -m 'hello world'
213-
217+
214218
[10:00:58] › … Connecting...
215219
[10:00:58] › ✔ Connected
216220
[10:00:58] › … Message Publishing...
Lines changed: 95 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,124 @@
1-
# 在 Azure 中部署 EMQX
2-
3-
EMQX 是一款高性能的开源分布式物联网 MQTT 消息服务器,它提供了可靠、高效的消息传递功能。而 Azure Kubernetes Service(AKS)作为一种托管的 Kubernetes 服务,提供了便捷的容器化应用程序部署和管理能力。在本文中,我们将介绍如何利用 EMQX Operator 在 Azure AKS 上部署 EMQX,从而构建强大的物联网 MQTT 通信解决方案。
1+
# 在 Azure Kubernetes Service 中部署 EMQX
42

3+
EMQX Operator 支持在 Azure Kubernetes Service (AKS) 上部署 EMQX。AKS 通过将运维开销转移到 Azure 来简化在 Azure 中部署托管 Kubernetes 集群的过程。作为托管的 Kubernetes 服务,Azure 处理关键任务,如健康监控和维护。创建 AKS 集群时,Azure 会自动配置和管理 Kubernetes 控制平面,无需额外费用。
54

65
## 前提条件
76

8-
在开始之前,您必须具备以下条件:
7+
在 AKS 上部署 EMQX 之前,请确保满足以下先决条件:
8+
9+
- Azure 订阅中的 AKS 集群
10+
* 有关创建和配置 AKS 集群的指导,请参阅 [Azure Kubernetes Service 文档](https://learn.microsoft.com/zh-cn/azure/aks/)
11+
12+
- 用于连接到 AKS 集群的有效 `kubectl` 配置
13+
- 要使用本地安装的 `kubectl` 连接,请按照 [连接到 AKS 集群](https://learn.microsoft.com/zh-cn/azure/aks/learn/quick-kubernetes-deploy-cli) 中的说明操作。
14+
- 要使用 Azure Cloud Shell 连接,请参阅 [在 Azure CloudShell 中管理 AKS 集群](https://learn.microsoft.com/zh-cn/azure/aks/learn/quick-kubernetes-deploy-portal?tabs=azure-cli)
15+
16+
- 在集群上安装 EMQX Operator
17+
- 有关安装详细信息,请参阅 [安装 EMQX Operator](./getting-started.md)
918

10-
- 要在 Azure 上创建一个 AKS 集群,您首先需要在您的 Azure 订阅中激活 AKS 服务。请参考 [Azure Kubernetes 服务](https://learn.microsoft.com/zh-cn/azure/aks/) 文档以获取更多信息。
1119

12-
- 要使用 kubectl 命令连接到一个 AKS 集群,您可以在本地安装 kubectl 工具并获取集群的 KubeConfig 来连接到集群。或者,您可以通过 Azure 门户使用 Cloud Shell 来管理集群。
13-
- 要使用 kubectl 连接到一个 AKS 集群,您需要在您的本地机器上安装并配置 kubectl 工具。请参考 [连接到一个 AKS 集群](https://learn.microsoft.com/zh-cn/azure/aks/learn/quick-kubernetes-deploy-cli) 文档。
14-
- 要使用 CloudShell 连接到一个 AKS 集群,使用 Azure CloudShell 连接到 AKS 集群并使用 kubectl 管理集群。请参考 [在 Azure CloudShell 中管理一个 AKS 集群](https://learn.microsoft.com/zh-cn/azure/aks/learn/quick-kubernetes-deploy-portal?tabs=azure-cli) 文档,了解如何连接到 Azure CloudShell 和使用 kubectl 的详细说明。
20+
## 快速部署 EMQX 集群
1521

16-
- 要安装 EMQX Operator,请参考 [安装 EMQX Operator](./getting-started.md)
22+
以下示例显示了 EMQX 自定义资源 (CR) 的基本配置
1723

18-
## 快速部署一个 EMQX 集群
24+
1. 将其保存为 YAML 文件,并使用 `kubectl apply` 部署。
1925

20-
以下是 EMQX Custom Resource 的相关配置。您可以根据您想要部署的 EMQX 版本选择相应的 APIVersion。具体的兼容关系,请参考 [EMQX Operator 兼容性](./operator.md)
26+
```yaml
27+
apiVersion: apps.emqx.io/v2beta1
28+
kind: EMQX
29+
metadata:
30+
name: emqx
31+
spec:
32+
image: emqx/emqx:@EE_VERSION@
33+
config:
34+
data: |
35+
license {
36+
key = "..."
37+
}
38+
coreTemplate:
39+
spec:
40+
volumeClaimTemplates:
41+
## 有关存储类的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/concepts-storage#storage-classes
42+
storageClassName: default
43+
resources:
44+
requests:
45+
storage: 10Gi
46+
accessModes:
47+
- ReadWriteOnce
48+
dashboardServiceTemplate:
49+
spec:
50+
## 有关负载均衡器的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/load-balancer-standard
51+
type: LoadBalancer
52+
listenersServiceTemplate:
53+
spec:
54+
## 有关负载均衡器的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/load-balancer-standard
55+
type: LoadBalancer
56+
```
2157
22-
```yaml
23-
apiVersion: apps.emqx.io/v2beta1
24-
kind: EMQX
25-
metadata:
26-
name: emqx
27-
spec:
28-
image: emqx/emqx-enterprise:@EE_VERSION@
29-
coreTemplate:
30-
spec:
31-
volumeClaimTemplates:
32-
## 关于存储类的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/concepts-storage#storage-classes
33-
storageClassName: default
34-
resources:
35-
requests:
36-
storage: 10Gi
37-
accessModes:
38-
- ReadWriteOnce
39-
dashboardServiceTemplate:
40-
spec:
41-
## 关于负载均衡器的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/load-balancer-standard
42-
type: LoadBalancer
43-
listenersServiceTemplate:
44-
spec:
45-
## 关于负载均衡器的更多信息:https://learn.microsoft.com/zh-cn/azure/aks/load-balancer-standard
46-
type: LoadBalancer
47-
```
58+
2. 等待 EMQX 集群就绪。
4859
49-
等待 EMQX 集群准备就绪。您可以使用 kubectl get 命令检查 EMQX 集群的状态。请确保状态为 Running,这可能需要一些时间
60+
使用 `kubectl get` 检查集群状态,并验证 `STATUS` 为 `Ready`。启动可能需要一些时间
5061

51-
```bash
52-
$ kubectl get emqx emqx
53-
NAME STATUS AGE
54-
emqx Running 10m
55-
```
62+
```shell
63+
$ kubectl get emqx
64+
NAME STATUS AGE
65+
emqx Ready 1m5s
66+
```
5667

57-
获取 EMQX 集群的外部 IP,并访问 EMQX 控制台
68+
3. 获取 EMQX Dashboard 的外部 IP 并访问它
5869

59-
EMQX Operator 将创建两个 EMQX 服务资源,一个是 emqx-dashboard,另一个是 emqx-listeners,分别对应 EMQX 控制台和 EMQX 监听端口
70+
EMQX Operator 会根据 `dashboardServiceTemplate` 配置自动创建 Service
6071

61-
```shell
62-
$ kubectl get svc emqx-dashboard -o json | jq '.status.loadBalancer.ingress[0].ip'
72+
```shell
73+
$ kubectl get svc emqx-dashboard -o json | jq -r '.status.loadBalancer.ingress[0].ip'
74+
20.245.230.91
75+
```
6376

64-
52.132.12.100
65-
```
77+
4. 在 `http://20.245.230.91:18083` 打开 Dashboard。
6678

67-
通过打开一个网络浏览器并访问 http://52.132.12.100:18083 来访问 EMQX 控制台。使用默认的用户名和密码 admin/public 登录。
79+
使用默认凭据登录:
6880

69-
## 使用 MQTTX CLI 连接到 EMQX 集群以发布/订阅消息
81+
- **用户名:** `admin`
82+
- **密码:** `public`
7083

71-
MQTTX CLI 是一个开源的 MQTT 5.0 命令行客户端工具,旨在帮助开发者无需 GUI 即可更快地开发和调试 MQTT 服务和应用。
84+
## 使用 MQTTX 订阅和发布
7285

73-
1. 获取 EMQX 集群的外部 IP
86+
本演练使用 [MQTTX CLI](https://mqttx.app/zh/cli),这是一款开源的 MQTT 5.0 命令行客户端工具,可帮助开发者快速测试 MQTT 服务和应用
7487

75-
```shell
76-
external_ip=$(kubectl get svc emqx -o json | jq '.status.loadBalancer.ingress[0].ip')
77-
```
88+
1. 获取 EMQX TCP 监听器的外部 IP。
7889

79-
2. 订阅消息
90+
EMQX Operator 会为每个配置的监听器自动创建 Service 资源
8091

81-
```shell
82-
$ mqttx sub -t 'hello' -h ${external_ip} -p 1883
83-
84-
[10:00:25] › … Connecting...
85-
[10:00:25] › ✔ Connected
86-
[10:00:25] › … Subscribing to hello...
87-
[10:00:25] › ✔ Subscribed to hello
88-
```
92+
```shell
93+
external_ip=$(kubectl get svc emqx-listeners -o json | jq -r '.status.loadBalancer.ingress[0].ip')
94+
```
8995

90-
3. 创建一个新的终端窗口并发送消息
96+
2. 订阅主题
9197

92-
```shell
93-
$ mqttx pub -t 'hello' -h ${external_ip} -p 1883 -m 'hello world'
94-
95-
[10:00:58] › … Connecting...
96-
[10:00:58] › ✔ Connected
97-
[10:00:58] › … Message Publishing...
98-
[10:00:58] › ✔ Message published
99-
```
98+
```shell
99+
$ mqttx sub -t 'hello' -h ${external_ip} -p 1883
100+
[10:00:25] › … Connecting...
101+
[10:00:25] › ✔ Connected
102+
[10:00:25] › … Subscribing to hello...
103+
[10:00:25] › ✔ Subscribed to hello
104+
```
100105

101-
4. 在订阅终端窗口中查看接收到的消息
106+
3. 在另一个终端中,连接到 EMQX 集群并发布消息
102107

103-
```shell
104-
[10:00:58] › payload: hello world
105-
```
108+
```shell
109+
$ mqttx pub -t 'hello' -h ${external_ip} -p 1883 -m 'hello world'
110+
[10:00:58] › … Connecting...
111+
[10:00:58] › ✔ Connected
112+
[10:00:58] › … Message Publishing...
113+
[10:00:58] › ✔ Message published
114+
```
106115

107-
## 使用 LoadBalancer 进行 TLS 终结
116+
4. 观察订阅者接收消息。
108117

109-
由于 Azure LoadBalancer 不支持 TCP 证书,请参阅这个[文档](https://github.com/emqx/emqx-operator/discussions/312)解决 TCP 证书卸载问题。
118+
```shell
119+
[10:00:58] › payload: hello world
120+
```
121+
122+
## 关于使用 LoadBalancer 进行 TLS 卸载的说明
123+
124+
作为 L3/L4 负载均衡器,Azure LoadBalancer 不支持 TLS 终止。请参阅此[讨论](https://github.com/emqx/emqx-operator/discussions/312)以了解可能的解决方案。

0 commit comments

Comments
 (0)