028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何在Kubernetes上部署EMQX集群

本篇内容主要讲解“如何在Kubernetes上部署EMQ X集群”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Kubernetes上部署EMQ X集群”吧!

创新互联是专业的贡觉网站建设公司,贡觉接单;提供网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行贡觉网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

通过 Helm 在 Kubernetes 上快速部署 EMQ X 集群

通过 EMQ X 提供的 Helm chart 可以很简单地将 EMQ X 部署至 Kubernetes 平台。在开始之前,请确保遵循 Helm文档指南 来安装 Helm。

关于 Kubernetes

Kubernetes 是广泛应用的提供自动部署、扩展和运行应用程序开源容器编排平台。

使用 Kubernetes, 可以快速高效地响应客户需求:

Kubernetes 具有如下特点:

Kubernetes 项目由 Google 公司在 2014 年启动。Kubernetes 建立在 Google 公司超过十余年的运维经验基础之上,Google 所有的应用都运行在容器上, 再与社区中最好的想法和实践相结合,也许它是最受欢迎的容器平台。

关于 Helm

Helm 是一个 kubernetes 应用的包管理工具,用来管理 [charts] (https://github.com/kubernetes/charts)——预先配置好的安装包资源,有点类似于 Ubuntu 的 APT 和 CentOS 中的 yum 。

Helm chart 是用来封装 kubernetes 原生应用程序的 yaml 文件,可以在部署应用的时候自定义应用程序的一些metadata,便与应用程序的分发。

Helm 和 charts 的主要作用:

Setup

快速部署一个简单的 EMQ X 集群

部署一个持久化的 EMQ X 集群

EMQ X 通过 创建 PVC 资源挂载 /opt/emqx/data/mnesia 目录实现持久化 pods在部署 EMQ X 之前,用户需要部署 Haproxy 或 Nginx-PLUS 等负载均衡器,并自行在 Kubernetes 中创建 PV 资源或是 Storage Classes 资源

部署 EMQ X Edge 集群和 EMQ X 企业版集群

EMQ X Edge

部署 EMQ X Edge 集群指定 image=emqx/emqx-edge:v3.2.3 ,其他设置与部署 EMQ X 集群保持一致

$ helm install --devel --name my-emqx --set service.type=NodePort --set image=emqx/emqx-edge:v3.2.3 emqx/emqx
EMQ X EE

部署 EMQ X 企业版集群首先需要登陆 emqx.io 申请并下载 License 文件,并将 License 文件创建为 Secret 资源

$ kubectl create secret generic your-license-secret-name --from-file=/path/to/emqx.lic

然后在部署时指定 emqxLicneseSecretName=your-license-secret-nameimage=emqx/emqx-ee:v3.4.0,其他设置与部署 EMQ X 集群保持一致

helm install --devel --name my-emqx --set service.type=NodePort --set image=emqx/emqx-ee:v3.2.3 --set emqxLicneseSecretName=your-license-secret-name emqx/emqx

EMQ X Helm Chart 配置项

参数描述Default Value
apiserverKubernates API serverhttps://kubernetes.default.svc:443
namespacekubernetes namespacedefault
replicasEMQ X 节点数量,建议保持奇数个节点,不然脑裂后无法自动恢复3
imageEMQ X 镜像名称emqx/emqx:latest
imagePullPolicy获取镜像的策略IfNotPresent
persistence.enabled是否启用 PVCfalse
persistence.storageClassStorage class 名称nil
persistence.existingClaimPV 名称""
persistence.accessModePVC 访问模式ReadWriteOnce
persistence.sizePVC 容量20Mi
resourcesCPU/内存资源{}
service.typeEmqx 集群服务类型ClusterIP
service.mqttPortMQTT 协议端口1883
service.mqttsslPortMQTT/SSL 端口8883
service.mgmtPort管理API 端口8080
service.websocketPortMQTT/WebSocket 端口8083
service.wssPortMQTT/WebSocket/SSL 端口8084
service.dashboardPortDashboard 端口18083
emqxAddressType用于从k8s服务中获取EMQ X 节点
可选值:ip、DNS、hostname
注意:hosename 仅支持 EMQ X v3.2.1 之后的版本
ip
emqxConfigEMQ X 配置项,详情查看文档{}
emqxLicneseSecretNameEMQ X 企业版需要手动将 License 文件创建为 Secret 资源""

当需要设置复杂参数的时候,可以使用 Yaml 文件来记录参数

$ helm install --devel --name my-emqx -f values.yaml emqx/emqx

到此,相信大家对“如何在Kubernetes上部署EMQ X集群”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站题目:如何在Kubernetes上部署EMQX集群
URL地址:http://www.tsicrk.com/article/jpcscs.html

其他资讯

让你的专属顾问为你服务

1.4040s