License 配置 (EMQX 企业版)
任务目标
- 配置 EMQX 企业版 License。
- 更新 EMQX 企业版 License。
配置 License
EMQX 企业版 License 可以在 EMQ 官网免费申请:申请 EMQX 企业版 License (opens new window)。
下面是 EMQX Custom Resource 的相关配置,你可以根据希望部署的 EMQX 的版本来选择对应的 APIVersion,具体的兼容性关系,请参考EMQX Operator 兼容性:
配置 EMQX 集群
基于 License 文件创建 Secret
Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。关于 Secret 更加详尽的文档可以参考:Secret (opens new window)。EMQX Operator 支持使用 Secret 挂载 License 信息,因此在创建 EMQX 集群之前我们需要基于 License 创建好 Secret。
$ kubectl create secret generic ${your_license_name} --from-file=emqx.lic=${/path/to/license/file}
1
${your_license_name}
表示创建的 Secret 名称。
${/path/to/license/file}
表示 EMQX 企业版 License 文件路径,可以是绝对路径,也可以是相对路径。更多使用 kubectl 创建 Secret 的细节可以参考文档:使用 kubectl 创建 secret (opens new window)。
将下面的内容保存成 YAML 文件,并通过 kubectl apply
命令部署它
apps.emqx.io/v1beta4 EmqxEnterprise
支持通过 .spec.license
字段来配置 EMQX 企业版 License,更多信息请查看:license。
apiVersion: apps.emqx.io/v1beta4
kind: EmqxEnterprise
metadata:
name: emqx-ee
spec:
license:
secretName: ${your_license_name}
template:
spec:
emqxContainer:
image:
repository: emqx/emqx-ee
version: 4.4.14
serviceTemplate:
spec:
type: LoadBalancer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
secretName
表示上一步中创建的 Secret 名称。
等待 EMQX 集群就绪,可以通过 kubectl get
命令查看 EMQX 集群的状态,请确保 STATUS
为 Running
,这个可能需要一些时间
$ kubectl get emqxenterprises
NAME STATUS AGE
emqx-ee Running 8m33s
1
2
3
获取 EMQX 集群的 External IP,访问 EMQX 控制台
$ kubectl get svc emqx-ee -o json | jq '.status.loadBalancer.ingress[0].ip'
192.168.1.200
1
2
3
通过浏览器访问 http://192.168.1.200:18083
,使用默认的用户名和密码 admin/public
登录 EMQX 控制台。
apps.emqx.io/v2alpha1 EMQX
支持通过 .spec.bootstrapConfig
配置 EMQX 集群 License,bootstrapConfig 的配置可以参考文档:bootstrapConfig (opens new window)。这个字段只允许在创建 EMQX 集群的时候配置,不支持更新。
在创建 EMQX 集群之后,如果需要更新 License,请通过 EMQX Dashboard 进行更新。
将下面的内容保存成 YAML 文件,并通过 kubectl apply
命令部署它
apiVersion: apps.emqx.io/v2alpha1
kind: EMQX
metadata:
name: emqx-ee
spec:
bootstrapConfig: |
license {
key = "..."
}
image: emqx/emqx-enterprise:5.0.0
listenersServiceTemplate:
spec:
type: LoadBalancer
dashboardServiceTemplate:
spec:
type: LoadBalancer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bootstrapConfig
字段里面的 license.key
表示 Licesne 内容,此例中 License 内容被省略,请用户自行填充。
等待 EMQX 集群就绪,可以通过 kubectl get
命令查看 EMQX 集群的状态,请确保 STATUS
为 Running
,这个可能需要一些时间
$ kubectl get emqx emqx
NAME IMAGE STATUS AGE
emqx emqx:5.0 Running 10m
1
2
3
获取 EMQX 集群的 Dashboard External IP,访问 EMQX 控制台
EMQX Operator 会创建两个 EMQX Service 资源,一个是 emqx-dashboard,一个是 emqx-listeners,分别对应 EMQX 控制台和 EMQX 监听端口。
$ kubectl get svc emqx-dashboard -o json | jq '.status.loadBalancer.ingress[0].ip'
192.168.1.200
1
2
3
通过浏览器访问 http://192.168.1.200:18083
,使用默认的用户名和密码 admin/public
登录 EMQX 控制台。
更新 License