在华为云 OSC 上快速部署 EMQX MQTT 集群

news2024/10/5 15:32:59

EMQX Kubernetes Operator 是 EMQ 发布的一个封装、部署和管理工具,也是一个特定的应用控制器,方便 DevOps 人员在 Kubernetes 上编排 EMQX MQTT 消息服务集群,管理其生命周期。

华为云原生基础设施(云容器引擎 CCE、容器镜像服务 SWR、容器洞察引擎 CIE、智能边缘平台 IEF 等)通过云原生服务中心 (Operator Service Center,OSC) 对外开放云原生能力,包括弹性伸缩、多云部署、云边协同、应用级自动化运维等,全面支持企业架构云原生化。

本文将介绍如何使用 EMQX Operator 在 OSC 上快速发布并提供基于大规模分布式物联网消息服务器 EMQX 的 MQTT 订阅服务,实现运维的代码化、自动化、智能化。

OSC 介绍

OSC 是华为云面向服务提供商和服务使用者的云原生服务生命周期治理平台,提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,帮助用户简化云原生服务的生命周期管理。

1

OSC 具有以下优势:

  • 开箱即用

    OSC 联合生态伙伴提供了大量开箱即用的云原生服务,包括数据库、消息、缓存等通用中间件,以及新技术领域的 AI、大数据、高性能计算、边缘等应用,用户可以根据业务需要订阅。

  • 全域部署

    随着业务的发展,企业使用云服务部署场景在横向和纵向上都在不断拓展,横向上跨云部署成为业务常态,纵向上服务全域部署能力变得越来越重要,从核心区域和热点区域一直延伸到本地机房和业务现场。通过 OSC,用户可以将服务部署到与华为云连接的基础设施,例如部署在公有云不同 region 的容器集群和边缘集群。

  • 高效开发、自动运维

    容器化只是服务云原生化的第一步,服务部署之后需要治理,不仅包括监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高 SLA 的必要条件。OSC 提供开箱即用的云原生运维能力,支持服务声明式对接,无需修改业务代码。

  • 应用级视图

    传统的运维方式应用比较原始,都聚焦在资源层级,没有应用统一视图。OSC 在实例详情页面可以查看本实例状态信息、配置信息、日志、监控信息,方便用户在一个页面查看实例相关的基础信息,无需切换到不同的运维平台。

  • 兼容社区服务规范

    OSC 服务规范兼容 Helm 和 Operator Framework 社区服务规范,Helm 和 Operator framework 是Kubernetes 生态中最常用的服务管理方式,很多已有的服务都是基于这两种方式开发,为了方便这些已有服务快速发布或者快速迁移到 OSC,使用 OSC 管理,OSC 的服务规范兼容 Helm 和 Operator Framework。

2

EMQX 介绍

EMQX 企业版介绍

EMQX 企业版是一款「随处运行,无限连接,任意集成」企业级 MQTT 物联网接入平台,提供一体化的分布式 MQTT 消息服务和强大的 IoT 规则引擎,为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,助力企业快速构建关键业务的 IoT 平台与应用。

3

其具有如下特性:

  • 多协议支持

    通过 MQTT、CoAP、LwM2M、WebSocket 或专有协议连接任何设备。

  • 一站式接入

    将大规模分布式的 MQTT Broker 与强大的内置 IoT 规则引擎相结合。

  • 关键业务可靠性

    为关键业务的物联网应用提供可靠的高性能数据移动、处理与集成。

  • 灵活数据集成

    轻松、灵活地集成物联网数据到 Kafka、RDS,以及 SAP 等企业系统。

EMQX Operator 介绍

Kubernetes Operator 是一种封装、部署和管理 Kubernetes 应用的方法。它使部署和运行应用所依赖的基础服务变得更简单。

4

EMQX Operator 实现了对 EMQX 生命周期的管理,其具有如下特性:

  • 动态更新 EMQX 集群

    EMQX 集群运行时,更改集群实例配置,无需手动重启实例,服务无中断完成配置更新

  • 弹性高可用

    可以在不中断业务的情况下扩展 EMQX 集群

  • 热更新

    EMQX Operator 可以在不中断服务的情况下,帮助您快速、安全地升级 EMQX 集群

  • 运维简单

    EMQX Operator 可以对接 Prometheus,同时也支持把监控指标导出到 Prometheus 中

在 OSC 上部署 EMQX 服务

部署环境说明:

  • CCE 节点的操作系统为 Ubuntu
  • CCE 节点的规格 ≥ 2C8G
  • CCE 节点可以访问外网

:这里的价格只是为了演示,不是真实的价格

订阅 cert-manager

查找服务

登录 OSC 控制台,在服务目录中输入cert-manager,找到 cert-manager 证书管理。

5

订阅和购买

进入 cert-manager 证书管理,点击“订阅”。

6

点击“立即购买”。

7

完成支付。

8

最终在“已购买的服务”里面会显示刚刚的购买的 cert-manager。

9

部署 cert-manager

创建实例

在“我的服务”点击创建实例

10

填写基本信息

选择容器集群和选择要部署的命名空间,如果显示不存在则点击“创建容器集群”或者“创建命名空间”,然后选择下一步。

注:确保容器集群的节点可以访问外网

11

填写实例参数

选中”installCRDs“,然后选择下一步。

12

确认信息并提交

13

稍等片刻,可以看到 cert-manager 服务实例创建成功。

14

订阅 EMQX Operator

查找服务

在“服务目录”中输入 emqx,找到 EMQX 消息中间件 Operator。

15

订阅和购买

进入 EMQX 消息中间件 Operator,点击“订阅”。

16

点击“立即购买”。

17

完成支付。

18

最终在“已购买的服务”里面会显示刚刚的购买的 EMQX 消息中间件 Operator。

19

部署 EMQX Operator

创建实例

在“我的服务”中点击“创建实例”。

20

填写基本信息

选择容器集群和选择要部署的命名空间,如果不存在则点击“创建容器集群”或者“创建命名空间”,然后选择下一步。

注:确保容器集群的节点可以访问外网

21

填写实例参数

选中”installCRDs“,然后选择下一步

22

确认信息并提交

23

稍等片刻,EMQX 消息中间件 Operator 实例就可以成功创建。

24

查看实例信息

点击 emqx operator 服务。

25

可以看到服务的基本信息。

26

部署 EMQX 企业版实例

连接”云容器引擎”

登陆云容器引擎 CCE,在”集群管理“下点击进入集群。

27

在集群信息中,点击“CloudShell”图标,连接集群

28

部署 EMQX 企业版实例

实例的 yaml 文件如下:

cat << "EOF" | kubectl apply -f -
apiVersion: apps.emqx.io/v1beta3
kind: EmqxEnterprise
metadata:
  name: emqx-ee
  labels:
    "foo": "bar"
spec:
  persistent:
    storageClassName: csi-disk
    resources:
      requests:
        storage: 1Gi
    accessModes:
    - ReadWriteOnce
  emqxTemplate:
    image: emqx/emqx-ee:4.4.5
    serviceTemplate:
      metadata:
        annotations:
          kubernetes.io/elb.pass-through: "true"
          kubernetes.io/elb.class: union
          kubernetes.io/elb.autocreate:
              '{
                "type": "public",
                "name": "emqx",
                "bandwidth_name": "cce-emqx",
                "bandwidth_chargemode": "bandwidth",
                "bandwidth_size": 200,
                "bandwidth_sharetype": "PER",
                "eip_type": "5_bgp"
              }'
      spec:
        type: LoadBalancer
EOF

检查 EMQX 企业版状态

kubectl get pods
kubectl exec -it emqx-ee-0 -c emqx -- emqx_ctl status
kubectl exec -it emqx-ee-0 -c emqx -- emqx_ctl cluster status

29

连接 EMQX 企业版

30

用户名:admin 密码:public Dashboard: ${EXTERNAL-IP}:18083

31

总结

OSC 兼容 Helm、Operator Framework 等第三方生态作为服务包,可以降低已有业务搬迁的门槛,实现从服务开发、基本服务实例部署到后续实例生命周期维护和运维操作的完整覆盖。通过 OSC 平台,服务提供商可以方便快捷地发布服务,服务使用者则只需要订阅和部署,实现开箱即用。

而 EMQX Operator 提供了对 EMQX 的全生命周期管理,除了对持久化数据进行备份和恢复的基础能力,害提供了对 EMQX Plugin 的独立部署、管理、配置持久化能力。用户可以动态更新 Licence 和 SSL 等,实现包括高可用、扩容、异常处理的自动化运维。

OSC 与 EMQX Operator 的结合,为用户提供了一种更加便捷的选择,极大降低了 EMQX 企业版的部署和运维成本。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/deploying-mqtt-cluster-on-huawei-cloud-osc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

索引数据结构千千万 , 为什么B+Tree独领风骚

索引的由来 大数据时代谁掌握了数据就是掌握了流量&#xff0c;就是掌握的号召力。面对浩瀚的数据如何存储并非难事&#xff0c; 难点在于如何在大数据面前查询依旧快如闪电&#xff01; 这时候索引就产生了&#xff0c;索引的产生主要还是借鉴于图书管理员书签的功能。在大数…

谷歌、微软、Meta?谁才是 Python 最大的金主?

你知道维护 Python 这个大规模的开源项目&#xff0c;每年需要多少资金吗&#xff1f; 答案是&#xff1a;约 200 万美元&#xff01; PSF&#xff08;Python 软件基金会&#xff09;在 2022 年 6 月发布了 2021 的年度报告&#xff0c;其中披露了以下这份支出明细&#xff08;…

大家介绍一篇学生选课系统的设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

若依框架字典配置以及使用(结合vue和emelent)

一&#xff1a;字典数据创建&#xff08;我们公司是后端做的&#xff0c;前端不用管&#xff09; 1.首先新建要指定的默认角色 &#xff08;1&#xff09;必须用管理员账号登录才能看到角色管理 &#xff08;2&#xff09;具体怎写&#xff0c;可以参考已有的数据&#xff08…

低代码平台中的“模型驱动”与“表单驱动”有何区别?

低代码定义&#xff1a; 低代码是近几年比较火的一种应用程序快速开发方式&#xff0c;它能帮助用户在开发软件的过程中大幅减少手工编码量&#xff0c;并通过可视化组件加速应用程序的高效交付。&#xff08;低代码的定义来自Forrester报告&#xff0c;被认为是低代码一词的起…

坐标的变换

在QPainter可以使用以下函数变换坐标&#xff1a; QPainter&#xff1a;&#xff1a;scale()缩放坐标系统QPainter&#xff1a;&#xff1a;rotate()顺时针旋转QPainter&#xff1a;&#xff1a;translate()平移QPainter&#xff1a;&#xff1a;shear()围绕原点来扭曲坐标系统…

[附源码]java毕业设计小超市进销存管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

fmllr--学习笔记

预备知识&#xff1a; 说话人自适应技术是利用特定说话人数据对说话人无关(Speaker Independent,SI)的码本进行改造&#xff0c;其目的是得到说话人自适应(SPeaker Adapted, SA)的码本来提升识别性能。在某个说话人的训练数据足够多的时候&#xff0c;针对当前说话人数据采用传…

m基于3GPP-LTE通信网络的认知家庭网络Cognitive-femtocell性能matlab仿真

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 本系统所涉及到的几个主要模块&#xff0c;具体有如下几个模块&#xff1a; A. Simulation Flow&#xff1a;仿真流程 B. Initialization&#xff1a;初始化 C. Mobility Model&…

【每日两题】day 01 组队竞赛 删除公共字符

链接&#xff1a;组队竞赛__牛客网 (nowcoder.com) 解题思路 该题目就是求所有队员水平的数组中的尽可能大的水平之和 因为每个队伍都是三个人&#xff0c;平均水平值肯定是排序后水平中间的值 import java.util.*;public class Main {public static void main(String[] ar…

VisualDrag低代码拖拽模板

目录背景技术&文档二开优化方案1. 优化侧边栏2. 优化图片插入3. 新增可插入画布的组件4. 解决组件鼠标默认事件冲突的问题数据保存对接&页面生成预览保存对接生成预览源码下载背景 接到一个需求做一个拖拽模板低代码生成界面&#xff08;如上图&#xff09;&#xff0c…

项目交付过程中,进度失控的原因有哪些?

在项目交付过程中&#xff0c;会出现项目交付的进度与计划有较大的偏差&#xff0c;导致这种偏差的原因往往是多种多样的&#xff0c;一般常见的引起进度延期的原因有哪些&#xff1f; 1、计划不清晰 项目开始前必须有个计划&#xff0c;工作思路必须事前理清。 项目经理最…

springboot+ssm大学生家教课程订购平台的设计与实现

制作一个大学生家教平台的设计与实现是非常必要的。本网站是借鉴其他人的开发基础上&#xff0c;用MySQL数据库和JSP定制了大学生家教平台的设计与实现。系统前台实现了用户注册、登录、学习课程、家教准则、通知公告、双减政策等功能&#xff0c;并且还可以修改密码、个人信息…

windows10复制文件需要管理员权限,复制需要管理员权限怎么办

在Windows10操作系统的电脑中&#xff0c;很多用户都遇到这样的问题&#xff1a;windows10复制文件需要管理员权限&#xff0c;很多用户都不知道该怎么解决这个问题。在本文中&#xff0c;我们写出了详细的解决方法&#xff0c;让你可以轻松复制文件&#xff0c;并且也修复了需…

SpringBoot中任务是什么/Quartz和SpringTask在Spring Boot中怎么使用/SpringBoot怎么给用户发邮件

写在前面&#xff1a; 继续记录自己的SpringBoot学习之旅&#xff0c;这次是SpringBoot应用相关知识学习记录。若看不懂则建议先看前几篇博客&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 3.5.2 任务 3.5.2.1 简述 定时任务是企业应用中常…

多种BCN点击试剂:1426827-79-3,endo BCN-PEG4-COOH,1841134-72-2

双环[6,1,0]壬炔 (BCN) &#xff08;环丙烷环辛炔&#xff09;可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。同样其可以和多种不同的基团进行连接&#xff0c;包括acid&#xff0c;NHS ester&#xff0c;amine等。西安凯新生物科技有限公司…

Oracle SQL执行计划操作(7)——排序相关操作

7. 排序相关操作 该类操作和SQL语句执行计划中的排序操作相关。根据不同的具体SQL语句及其他相关因素&#xff0c;如下各操作可能会出现于相关SQL语句的执行计划。 1&#xff09;BUFFER SORT 在会话服务进程内存中对某个行源数据进行排序或其他相关操作&#xff0c;该操作最…

Vue高级篇--实现前后端分离

目录 一、安装Nodejs服务器 二、安装Npm 三、安装vue脚手架 四、使用vue脚手架搭建vue工程 五、vue工程安装需要的插件和依赖 六、安装前端的开发工具 七、使用webstorm打开vue工程 7.1 运行vue工程 八、src目录结构的介绍 一、安装Nodejs服务器 等价于我们java端的Tomcat服务…

聊聊自制的探索大全扑克牌

这是鼎叔的第四十篇原创文章。 行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本人专栏和微信公众号《敏捷测试转型》&#xff0c;大量原创思考文章陆续推出。 这是鼎叔的第四十篇原创文章。 行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注…

Oracle中ALTER TABLE的五种用法(一)

首发微信公众号&#xff1a;SQL数据库运维 原文链接&#xff1a;https://mp.weixin.qq.com/s?__bizMzI1NTQyNzg3MQ&mid2247485212&idx1&sn450e9e94fa709b5eeff0de371c62072b&chksmea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a…