树叶云应用——CDN场景下的自动化评测

Part 01、什么是云原生下的CDN

CNCF对云原生(Cloud Native)的定义:

  • 云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。
  • 云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
  • 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。
  • 结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

​CDN是广义边缘计算已落地的典型应用,通过边缘服务节点下沉,内容更贴近用户,有效改善业务感知。通过CDN的云化改造,释放边缘服务节点计算资源,提供容器管理技术为第三方应用落地边缘,提升资源利用率。

主要应用场景为三类:网页加速、下载加速、视音频点播/直播加速。

云原生CDN系统主要包括云化边缘节点以及边缘云平台和配套的云管平台。云管平台主要提供资源池管理、资源管理、辅助运营管理、流程管理、运维管理等功能,边缘云平台主要提供容器化部署环境,并可根据业务需求满足存储、网络、CPU、内存等资源的管理和分配。

Part 02、测试工具选型

云原生CDN测试的一大难点在于构建云原生测试场景难度高、测试时间长。阿里巴巴开源的Chaosblade–一个简单易用且功能强大的混沌实验实施工具,除了基础的CPU、disk、I/O、network外,还支持docker、dubbo、jvm的攻击,同时支持攻击后迅速回滚,是在k8s部署方式下最优方案,正好可以帮助我们构建丰富的云原生CDN的测试场景。

Chaosblade支持丰富的实验场景:

  • 基础资源:比如CPU、内存、网络、磁盘、进程等实验场景;
  • Java应用:比如数据库、缓存、消息、JVM本身、微服务等,还可以指定任意类方法注入各种复杂的实验场景;
  • C++应用:比如指定任意方法或某行代码注入延迟、变量和返回值篡改等实验场景;
  • Docker容器:比如杀容器、容器内CPU、内存、网络、磁盘、进程等实验场景;
  • 云原生平台:比如Kubernetes平台节点CPU、内存、网络、磁盘、进程实验场景,Pod网络和Pod本身实验场景如杀Pod,容器的实验场景如上述的Docker容器实验场景;

​针对云原生平台,chaosblade-operator遵循混沌实验模型规范化实验场景,把实验定义为Kubernetes CRD资源,将实验模型映射为Kubernetes资源属性,很友好的将混沌实验模型与Kubernetes声明式设计结合在一起,依靠混沌实验模型便捷开发场景的同时,又可以很好的结合Kubernetes设计理念,通过kubectl或者编写代码直接调用Kubernetes API来创建、更新、删除混沌实验,而且资源状态可以非常清晰的表示实验的执行状态,标准化实现Kubernetes故障注入。

综上所述,我们可以使用chaosblade-operator构建云原生CDN的测试场景,提高云原生CDN的测试效率。

Part 03、故障注入

评测云原生CDN平台的业务高可用和流量调度功能,需要在各类异常场景下验证业务访问的连续性与正确性。根据上文调研,我们使用chaosblade-operator混沌工具来实现异常场景的故障注入。具体使用方式如下:

1.下载安装chaosblade-operator

helm install --namespace kube-system --name chaosblade-operator chaosblade-operator-0.10.0-v2.tgz

根据上述命令,chaosblade-operator会被安装至kube-system命令空间下。chaosblade-operator启动后会在每个节点部署chaosblade-tool Pod和一个chaosblade-operator Pod。

2.查看安装结果

kubectl get pod -n kube-system -o wide | grep chaosblade

如果显示chaosblade-operator和chaosblade-tool Pod都处于Running状态,则说明部署成功。如果部署出现问题,可以查看chaoblade部署文档。

3.识别故障注入的类型、故障输入值、故障node名称、故障持续时间等参数。

故障类型包括:CPU、内存、磁盘、网络断开、节点挂掉。

4.根据识别的故障注入参数,执行故障注入命令(达到持续时间后自动销毁),如:

blade create k8s node-cpu fullload --names ${node节点名称} --cpu-percent ${故障输入值} --kubeconfig ~/.kube/config --timeout ${故障持续时间}

5.返回故障注入结果,故障注入成功

{"code":200,"success":true,"result":"beeaaf3a7007031d"}

Part 04、工具集成 

解决了云原生测试场景构建的难题,接下来就是将工具与云原生CDN业务结合,研发一套云原生CDN自动化测试平台,进一步提高测试效率。云原生CDN自动化测试平台的整体设计流程如下:

自动化的主要内容包括模拟业务访问、分析业务日志、故障注入。

  • 第一步:模拟业务访问,在云原生CDN节点生成业务日志;
  • 第二步:获取业务日志并进行分析,得到相关业务指标,如状态码、命中状态、节点IP等;
  • 第三步:使用chaosblade工具进行故障注入;
  • 第四步:继续模拟业务访问;
  • 第五步:获取并分析业务日志,将得到的业务指标与故障注入的指标进行对比分析,判断结果是否与预期相同,得到故障注入给业务带来的影响。

通过该云原生CDN自动化测试平台,我们可以有效地对CDN业务的调度、内容管理、分发安全等相关功能进行测评,降低测试难度,提高测试效率。最终的云原生CDN自动化测试平台界面如下:

Part 05、总结

结合混沌工程技术,我们可以快速地构建云原生的各类测试场景,降低云原生平台测试难度。该云原生CDN自动化测试平台已应用于日常版本与试点测试中,整体提升测试效率40%,保障了CDN业务虚拟化迁移的质量。目前,杭研vCDN能力已达到行业水平,基于vCDN的边缘能力已落地16个省份,承载家庭安防、VR、OTT等to H业务和现网to B、to N业务,服务用户数超千万。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/232386.html<

(0)
管理的头像管理
上一篇2025-04-20 03:39
下一篇 2025-04-20 03:40

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注