『砍柴网』新基建大潮下边缘计算成新风口,百度智能云推出BEC抓住新机遇
“新基建”正在成为中国拉动经济增长的新方式 。 近日 , 国家发改委提出将联合相关部门 , 深化研究、强化统筹 , 研究出台推动新型基础设施发展的有关指导意见 。 在“新基建”大潮下 , 边缘计算将展露出巨大的价值 。
5G作为“新基建”的核心 , 让云游戏、超高清视频直播、VR/AR、V2X、智慧城市/制造等新兴行业蓬勃发展 , 但随之而来的是海量计算数据 。 传统的云计算架构已无法满足此类“低延迟&大带宽”的需求 , 云+边+端三位一体的分布式计算架构成为更好的解决方案 。
本文插图
这样的背景下 , 百度智能云率先基于CDN节点网络推出边缘计算产品BEC(Baidu Edge Computing) , 一站式提供更靠近终端用户的、全面覆盖的、弹性分布式算力资源 , 通过终端数据就近计算和处理 , 大幅度优化响应时延、降低中心负荷和整体成本;同时赋予用户更快、更省、更灵活、更高效的边缘算力资源和平台能力 。
支撑新场景落地
在百度智能云的边缘计算产品BEC中 , 边缘计算节点不仅提供了用户边缘算力资源 , 更把中心云的核心能力下沉到了边缘节点 , 如存储、网络、安全等能力 , 完成了众多新兴场景的落地 , 同时打造了云边协同的最佳解决方案:
在直播/点播场景 , 通过使用就近基于边缘构建的分布式源站 , 大幅度节省中心带宽成本 , 降低用户观看延迟、提升体验 。 同时支持客户将自有协议及转码能力快速部署至边缘节点 , 降低改造成本 。
在视频上传场景 , 边缘节点提供就近落盘存储 。 视频文件上传速度提升50% , 同时因减少传输链路使得上传成功率提高至99%以上 。 也可引入多个节点存储集群 , 保证边缘环境存储功能的可靠性 。
在安防场景 , 边缘计算节点可提供就近视频汇聚及处理能力 , 在同一城域网的距离内解决视频流/图片的合流、存储、分析 , 提供低成本、高质量的智慧安防监控能力 。 对终端设备无特殊要求 , 扩展性强、易改造 , 由边缘来做统一纳管 , 大幅度降低运营成本 。
在云游戏场景 , 边缘计算节点可提供高实时性的GPU计算资源 , 完成游戏场景的渲染工作 。 在特定区域内 , 从用户游戏指令上传至边缘节点处理到视频渲染后下发 , 整体可在25ms内完成处理 。 支持游戏即开即玩 , 无需下载 , 大幅度提升拉新率 。 同时也不会因游戏更新虚用户重新下载 , 导致用户流失 。
为支撑以上众多场景落地 , BEC在产品功能和技术架构方面 , 做了非常多的创新尝试 , 同时也在实际业务使用中 , 一一验证了技术的先进性 , 以下是创新的重点方向 。
安全容器和标准虚机的混部调度
近年来 , 容器技术快速发展 , 并呈现出与Kubernetes融合的趋势 。
2019年Kubernetes社区的一份指南纲要中 , 讨论了虚拟机回归的话题 , 而在生产实践中也发现 , 以docker为代表的runc容器技术 , 在安全性、隔离性上有不少隐患 。 这使得微虚机或者安全容器技术逐渐被业界重视起来 , 比较有代表性的如Kata Containers , Firecracker和gVisor 。
BEC就使用了其中的Kata Container安全容器做为边缘容器方案 , 实现容器内核隔离 , 保证非受信工作负载的运行 , 为客户提供更高的安全性 。 但是Kata Container也有一定的局限性 , 比如容器内核版本比较高 , 内核版本、虚机镜像不支持容器粒度的动态配置等问题 。 此外 , 也可支持客户在标准虚机上的使用习惯上 。
在这个背景下 , BEC开启了对边缘虚机的支持 。 这也和业界的发展趋势相同 , 随着像Kubevirt这样的开源项目兴起 , Kubernetes强大的编排能力可以直接管理标准虚拟机 。 而且BEC实现了安全容器和标准虚机的混部调度 , 整体架构如下: 分页标题
本文插图
简明边缘虚机架构
边缘虚机使用了开源的kubevirt方案来实现 , 通过Kubernetes的自定义资源API(CRD) , 增加虚机和虚机实例资源 , 使Kubernetes能够方便地编排管理虚机对象 。 Kubevirt的整体架构如下:
本文插图
【『砍柴网』新基建大潮下边缘计算成新风口,百度智能云推出BEC抓住新机遇】
可自定义虚机镜像
BEC通过与百度智能云BCC云服务器产品打通 , 充分利用中心云产品能力 , 为用户提供自定义虚机镜像的能力 。 用户在BEC上启动边缘虚机时 , 可以选择在BCC中制作的虚机镜像启动 。
Kubevirt支持多种存储挂载方式 , 在BEC中 , 系统盘的挂载使用的是dataVolume的方式 , 结合CDI(Containerized-Data-Importer)工具 , 完成虚机系统盘的准备 。 如下图:
本文插图
支持虚机资源整体调度
BEC为了提升性能 , 边缘使用本地盘作为虚机的系统盘 , 在系统盘pv准备完成后 , importer Pod会被删除 , BEC通过设置vm pod的亲和性 , 保证vm pod会调度到pv所在的节点 。 但是importer pod删除和vm pod创建过程中可能会有新的pod调度到此节点 , 并占用资源 , 会导致vm pod因资源不足而调度失败 。
为了解决这个问题 , BEC增加了对虚机生命周期过程中所有资源的整体调度能力 。 重点是保障importer删除后 , vm pod可以保证在同节点启动 , 另外一个是保障虚机关机开机时pod能在同节点重建 。
BEC对kube-scheduler组件进行了改造 , 在原有的节点资源管理模块增加了资源预留机制 , 为vm的pod预留出资源配额 , 不参与调度 。 对应上面提到的importer pod删除或者因vm关机导致的virt-launcher pod删除 , 对应的资源不会从scheduler的资源缓存中清理 , 并且通过hook资源同步逻辑 , 防止缓存被更新 , 从而保证了vm启动的稳定性 。
让边缘业务日志处理更简单
在业务运维中 , 日志是观察业务运行状态 , 排查业务问题的重要依据 。 在边缘服务场景中也是如此 , 但是边缘侧缺少中心云中完备的平台化日志服务 。 为了解决这个问题 , BEC结合云原生生态 , 实现了一套业务容器日志推送和监控指标采集的工具 。
该工具以sidecar容器的形式与业务容器共同运行在同一pod中 , 支持通过emptydir的方式与业务容器实现日志共享 , 也支持采集业务容器的标准输出 。 控制面通过configmap实现配置热更新下发 , 整体架构如下:
本文插图
日志指标提取 提升可读性
日志指标提取使用的是grok-exporter , grok-exporter是个轻量级的指标提取项目 , 可以很好对接prometheus 。 但是成熟度上还有待提升 , 主要问题有以下几点:
一是原生grok-exporter只能支持从一个文件或一个目录下的日志中提取指标 , 在生产环境中 , 客户多个容器的日志存储路径可能是不一致的 , 为此 , BEC对grok-exporter进行了改造 , 使其支持从多个文件或目录提取指标 , 并将文件名添加为label用于区分 。
二是原生grok-exporter不支持日志文件路径包含软链接或者环境变量 , 而生成环境中 , 很多日志文件 , 特别是标准输出日志 , 都是以软链接的方式来实现日志轮转 , BEC团队对此进行了改造 , 解决了该问题 。
三是提取指标时 , 对日志的偏移量没有做记录 , 在进程重启后会从文件开始处再次提取 。 为此 , BEC对该偏移量进行了持久化存储 , 进程重启后可以重新加载 , 继续从上一位置开始提取 。 而且BEC使用“inode+设备号+文件扩展属性”唯一标识一个文件 , 保证文件删除后 , 新建的同名文件可以被识别 。分页标题
此外 , 之前grok-exporter自身的日志格式不够友好 , 在组件运维过程中成本较高 。 为此 , BEC更换了日志库 , 对优化日志格式 , 提升日志可读性 。 以配置化方式支持日志轮转 , 方便日志清理 , 防止sidecar容器中的日志堆积占用过多资源 。
多种日志输出
BEC在日志传输上使用了开源的fluent bit , 对接了百度智能云ElasticSearch , 除此之外 , fluent bit原生还支持kafka、fluentd、http、nats等输出 。
基于以上众多业界首发的功能和先进技术 , 百度智能云以边缘计算开辟全新赛道 , 完成率先抢跑 , 充分迎接5G新时代 。 同时 , 百度智能云也在和运营商共同探索移动边缘计算 , 旨在提供用户更下沉的边缘资源 , 更低延迟的网络响应 , 更丰富的5G网络能力 , 面向未来无限可能 。
- 大众证券报|发力新基建,佳力图:投数据中心
- 砍柴网|上交所:寒武纪科创板首发过会 此次融资 28.01 亿元
- 中小银行美美与共:中小银行与新基建
- 砍柴网|讯飞智能学习机 618 新惊喜,多重优惠助力孩子暑假弯道超车
- 基建新基建按下互联网保险“加速键” 慧择头部效应凸显
- 潇湘晨报|暖心!永州老人砍柴途中被困山路,武警战士接力背行五公里送回家
- 砍柴网|2K 全能档,技嘉 Z490 AORUS PRO AX 助你玩转十代酷睿
- 砍柴网|中国平安陈心颖谈加入平安的最大感受,感恩、自豪、向往
- 行业从跟跑到领跑:新基建大潮下如何跑出“中国式”新速度?
- 砍柴网|连续 3 月开店高增长,零售云 618 门店数将破 6000