亮相 WOT 全球技术创新大会,揭秘火山引擎边缘容器技术在泛 CDN 场景的应用与实践
2024 年 6 月 21 日-22 日,51CTO“WOT 全球技术创新大会 2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛 CDN 场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛 CDN 行业技术架构以及云原生与边缘计算的发展和展望。
火山引擎边缘计算架构师李志明表示:为更好地解决传统泛 CDN 类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山引擎边缘容器泛 CDN 场景技术解决方案,基于边缘容器实例产品,实现资源池统一、多业务混部,最终实现了系统稳定性增强、交付效率提升、方案标准化、多业务全隔离的效果,助力业务提升资源利用率,优化业务成本,实现高效、平稳运行。
泛 CDN 业务场景面临的挑战
随着互联网用户需求的演进、技术的快速发展以及环境的复杂变化,传统泛 CDN 类业务在实际运行过程中,面临着不同场景挑战:
稳定性:传统 CDN 厂商往往采用一套 CDN 系统服务多种场景或业务的形态,一旦出现故障,会影响所有业务。
交付效率:一套业务系统服务所有场景和客户类型,会导致产品功能交付周期长,现网稳定性问题修复周期长。
异构部署:出于成本考虑,CDN 厂商会部署非标准的、小型化设备,这会导致多种异构部署架构,维护成本变高。
业务耦合:传统 CDN 厂商会将 CDN、DCDN 等泛 CDN 类业务混合部署在一台物理机上,会对业务稳定性带来影响。
针对稳定性、交付效率的问题,行业内基本采用业务拆分隔离的解决方案,比如点播类、加速类、图片类搭建独立的物理集群,但这种解决方案成本高昂且无法复制使用。同时,面对异构部署和业务耦合问题,行业内采用容器化解决方案,通过容器打造标准化 CDN 部署环境和资源隔离,但普通的容器方案会导致内核争抢,影响业务。
火山引擎基于边缘容器实例场景化解决方案
为更好地解决上述问题,火山引擎边缘计算团队结合内部 CDN、DCDN 容器化实践,沉淀了面向泛 CDN 场景的创新容器技术解决方案,以下从运维、性能、资源管理、稳定性多个维度分享详细落地实践。
如何兼容物理机的运维方案?
传统 CDN 业务倾向于兼容物理机的运维模式,监控、故障恢复、发布等功能都基于物理机的模式进行建设,如果全部进行云原生化改造、系统改造,工作量非常大,也会带来稳定性问题。
在改造过程中,业务需要兼容以下能力,包括对 ssh 的远程登入、systemctl 的组件部署、协议栈模块的部署方案和物理机内核,同时还需要对文件系统盘可配置、服务发现、K8s 接口等能力的支持。
运维模式兼容之富容器方案
火山引擎边缘容器团队通过定制富容器镜像、定制专用虚拟化内核,提供服务发现能力、边缘托管 K8s+边缘容器解决方案等方式解决传统泛 CDN 业务面临的一系列问题。
一键化部署之网络编排能力
在面对业务提出减少网络运维复杂度需求时,火山引擎边缘容器团队通过提供网络编排产品化解决方案,来解决上云带来的运维复杂度增加问题:默认支持自定义 VPC 编排、Nat 编排、提供具备按照集群灰度部署的 LB4 编排产品能力。
如何提供接近物理机转发性能?
泛 CDN 类业务对性能要求非常高,比如点播 CDN 业务,要求全虚拟化容器环境之后,vCPU 性能能够达到接近物理机的 CPU 转发性能,同时支持大带宽的转发,在网卡带宽吞吐层面能够支持单实例跑满网卡能力。
在性能和吞吐层面,业务有明确需求:
高性能:单核 vCPU 能力接近物理机(<5%)
高吞吐:支持单实例打满网卡能力
高性能容器实例
火山引擎边缘容器团队基于高性能虚机构建高性能容器实例、基于高性能弹性网卡实现高吞吐能力,并且专门定制高吞吐的实例规格,最终达到性能相对于物理机差 2%~5%;单实例吞吐可以跑到 22G/40G 带宽能力的效果。
高性能负载均衡
面对大带宽流量,业务希望支持容器算力类型的 LB4 转发、容器内部获取到用户访问 EIP、大带宽转发能力等。火山引擎边缘容器团队通过提供 IPTarget 的负载均衡能力、EIP 透传的转发模式、三角转发方案等方式帮助解决转发问题。
如何管理广域覆盖的节点?
泛 CDN 业务的资源零碎、覆盖广,容器化过程中,管理 CDN 分布式资源面临着许多技术挑战。在资源层面,不仅类型复杂,包括物理机、VM、异构等多种类型;还拥有分散的地域分布,涵盖省、地级市、海外等。在网络环境层面,也面临着弱网、丢包等复杂环境。上述情况都会导致管理广域覆盖的节点难度增加。
边缘自治、异构纳管、分池规划,火山引擎边缘容器团队打造 ECI 分布式资源纳管底座,针对断网、异构机器、资源类型、区域、规模等不同场景,分别提供解决方案。这一方案包括:通过边缘托管 K8s 方案实现断网时的边缘自治;针对异构的机器复用边缘托管 K8s 产品能力;根据资源类型、区域、规模等进行分布式 K8s 纳管。
如何确保迁移过程中的业务稳定性?
把传统泛 CDN 场景业务搬到边缘计算的容器实例底座上,会面临很多稳定性问题。如何保障传统 CDN 业务不出现规模性故障,出现故障之后怎么及时发现和解决,这也是一大挑战。
系统化的稳定性保障
火山引擎边缘容器团队将所有的用户监控数据、业务监控数据、事件数据统一上报到质检中心或监控中心,并采取以下保障性举措:
构建百分百覆盖现场业务的监控告警体系,包括构建了稳定性监控大盘、业务异常告警及根因分析,同时建设了 7*24 小时的值班体系,保障及时响应现网发现的问题。
构建风控系统和哨兵巡检系统,确保及时发现现网故障,并且具备主动熔断能力,避免规模故障。
风控系统:解决规模性问题。风控系统支持人工策略和自动熔断策略,当 CDN 和 DCDN 超过两个以上的集群 Pod 被删除或更新的时候,系统会主动进行熔断。这时需要通过开放权限才能进行下一步操作,避免人工或系统问题带来的规模性删除、规模性更新。
哨兵巡检系统:支持主动发现用户容器,比如文件系统、内核、网络是否存在问题,如果出现问题,会及时触发告警,做到分钟级发现问题的能力。
故障发生后,火山引擎边缘容器团队提供两种工具确保快速恢复。
快照恢复流工具系统:定时快照用户在线信息,包括算力、LB、部署集群相关的信息备份。当现网大规模容器被销毁或 LB 被异常更新的时候,可以根据历史快照,快速恢复用户算力和 LB。
回收站:当用户算力被删除的时候,为了避免 IP 被其他业务占用,支持通过回收站对历史拿到的资源信息进行快速恢复,IP 资源不会被其他业务占用。
边缘容器技术解决方案实践效果
通过火山引擎边缘容器技术解决方案,最终实现了基于容器构建多套 CDN/DCDN 系统,故障爆炸面缩减到 1/N,同时在交付上实现了,部分场景从月发布优化到周发布进度,摆脱客户业务封禁影响。另外也通过边缘容器应用实现了方案的标准化,并最终实现多业务之间资源、网络、内核全隔离。
未来展望
未来,火山引擎边缘容器团队将持续提高用户体验,围绕 K8s 生态做好内外部业务上容器实例的不同场景解决方案;同时还将不断探索新场景,围绕 AI 推理/云游戏场景构建一键化部署解决方案。了解更多边缘容器实例或直接体验请点击左下角阅读原文。
欢迎加入边缘云微信技术交流群
评论