如何通过华为云云原生服务中心极速搭建全量KubeEdge生态组件
来源微信公众号:容器魔方
KubeEdge项目是华为云开源的一个基于Kubernetes构建的开放边缘计算平台,实现边云之间的应用管理与部署,跨边云的通信,以及跨边云的南向外设管理等基础能力。
KubeEdge整体发展至今具以下生态:
1.边云服务协同:基于EdgeMesh框架为应用程序提供了跨边云的服务发现与流量代理功能,从而屏蔽了边缘场景下复杂的网络结构。
2.边云 AI 协同架构(Sedna):基于开源 sedna 框架,提供基础的边云协同推理、联邦学习、增量学习等能力, 并实现了基础的模型管理、数据集管理等,使能开发者快速开发边云 AI 协同特性,以及提升用户边云 AI 特性的 训练与部署效率。
KubeEdge生态未来还将提供:
1.边缘南向服务:南向接入 Mapper,提供外设 Pofile 及解析机制,以及实现对不同南向外设的管理、控制、 业务流的接入,可兼容 EdgeX Foundry 开源生态。
2.边缘数据服务:通过边缘数据服务实现消息、数据、媒体流的按需持久化,并具备数据分析和数据导出的能力。
本文指导用户如何通过华为云云原生服务中心(OSC)以及华为云云原生容器引擎(CCE),以一种更加高效、稳定的方法搭建KubeEdge集群及其全量生态组件。
华为云云原生服务中心介绍
华为云云原生服务中心(Operator Service Center,OSC)是面向服务提供商和服务使用者的云原生服务生命周期治理平台,提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,帮助用户简化云原生服务的生命周期管理。云原生服务中心目前已经具备了海量的热门服务,分类包括有AI/机器学习、应用运行时、大数据、数据库、监控、安全、流媒体&消息、集成交付、日志、开发工具、网络、边缘计算等。
更多关于云原生服务中心的信息和使用者指南可以参考:https://support.huaweicloud.com/usermanual-osc/osc_su_0001.html
01 部署流程指导
部署流程导航图如下所示:
02 开始实践
1.2购买(至少一个)CCE节点
进入CCE控制面板的资源管理-节点管理中,点击右上角购买节点按钮:
1.3为(至少一个)CCE节点配置公网IP
进入ECS控制台:https://console.huaweicloud.com/ecm,为刚刚购买的节点配置一个公网EIP:
此外还需要配置此节点的安全组,确保节点的10000、10002、20004、20006端口能够被边缘节点访问到。
2.搭建KubeEdge环境
2.1.1进入华为云OSC服务目录界面、订阅Cloudcore服务
进入OSC控制台:https://console.huaweicloud.com/osc,在服务目录中搜索并订阅KubeEdge-Cloudcore服务。
2.1.2创建Cloudcore实例
订阅后,点击创建实例并按照安装指南部署Cloudcore。
2.2.2从CCE获取边缘节点准入token
进入CCE新版界面:
选中之前创建的CCE集群后点击CloudShell按钮:
进入CloudShell交互式终端命令行后,可以使用kubectl get secret -nkubeedge tokensecret -o=jsonpath='{.data.tokendata}' | base64 -d命令获取边缘节点的准入token:
用keadm join纳管边缘节点
纳管完边缘节点后,还需根据edgemesh文档(https://edgemesh.netlify.app/guide/getting-started.html#manual-installation)对edgecore.yaml进行配置。
3.部署Edgemesh服务
进入华为云OSC服务目录界面、订阅Edgemesh服务。与步骤2.1相同,订阅Edgemesh服务后根据安装指南安装Edgemesh服务:
4.部署Sedna服务
进入华为云OSC服务目录界面、订阅Sedna服务。与步骤2.1相同,订阅Sedna服务后根据安装指南安装Sedna服务:
运行Sedna云边协同推理Demo
本节主要参考Sedna的官方示例-大小模型协同推理,可以参考文档:
1.准备数据、大小模型文件
边缘端节点需下载小模型文件,文件链接:https://kubeedge.obs.cn-north-1.myhuaweicloud.com/examples/helmet-detection-inference/little-model.tar.gz。此外,边缘节点还需要安装EasyDarwin、ffmpeg等工具,以及一个虚拟的mp4视频流。
云端节点需下载大模型文件,文件链接:https://kubeedge.obs.cn-north-1.myhuaweicloud.com/examples/helmet-detection-inference/big-model.tar.gz
2.创建Sedna CRD资源
通过CCE的CloudShell交互式终端,可以方便的创建Sedna的自定义资源,比如Model、JointInferenceService、datasets、federatedlearningjobs、incrementallearningjobs等等。
创建大、小模型的CR:
创建协同推理服务的CR:
通过CloudShell创建完成后,我们可以在CCE的自定义资源看板中确认我们的CR已经创建完毕:
3.获取推理结果
在推理容器运行一段时间后我们可以在边缘节点的/joint_inference/output中获取大量的推理结果图片,选取其中的两张如下:
至此Sedna的协同推理示例已经验证通过了。