360容器云平台,在实际的容器化改造推动过程中,业务对容器化改造在系统稳定性等方面有一定的担忧,在容器云中,由于各类因素的不确定性,系统会出现不可预测的行为。 业务方缺少对于平台鲁棒性验证方案,没有办法定性定量的评估平台和应用的稳定性,混沌实验已成为一种研究容器云混沌效应的重要手段。混沌实验对为了增强业务上容器的信心,我们以konk的方式为业务提供独享集群进行混沌实验,来验证容器化方案,帮助用户自行评估系统稳定性,增强用户的运维信心。,我们引入混沌实验,输出混沌实验的方案和工具助理独享集群的鲁棒性提升。
360容器管理平台稳定性验证中,我们探索了混沌实验的方案,一方面方便我们进行扩展组件的功能验证,另一方面帮助业务了解容器在异常情景下的表现,整体提高业务上容器的信心。
整体方案主要分以下四部分内容:
1. 我们利用kubeonkube创建独享k8s集群的方式快速为业务容器化提供资源隔离的混沌实验环境,这样我们能够更好地模
拟极端场景。
2. 由于项目架构的复杂性,云计算故障场景构造的专业性、实验场景的丰富性,使得手工进行混沌实验的成本非常高,只
有解决了这些问题才能提高混沌实验的质量和效率。我们搭建了混沌实验的工具平台,在功能设计上支持多集群的纳管,打通混沌实验平台和被测多集群间的管控通道。
3. 制定混沌实验的测试方案,通过实践演练方案的可行性,将基础的混沌实验场景和方案预置到平台中,关联所需要的故
障构造工具和脚本,方便场景的集中控制。同时场景支持单场景的调试,在精细定位和基本能力验证上发挥作用。在集群和场景的基础上,创建混沌实验,创建过程可以支持场景和资源的直接组合,快速生成实验步骤,在实验规划中可以对不同的注入节点和场景进行组合,产生复合场景的实验步骤,实验通过工作流的方式对规划好的一个个场景依次进行自动化的注入、观测、回收。同时支持多个实验的并行运行。最后生成结果报告,展示实验中的结果记录,可以根据系统架构分析和链路跟踪对结果是否需要后续观测进行标注。
4. 如何有效观测是混沌实验的另一个重要问题。在实施效果和集群稳定性观测方面,我们建立容器云从集群到资源各种维
度的监控体系。在集群可用性观测方面,容器云作为一个自动运维平台,主要是工程师进行资源创建、更新、发布、释放等操作,本身的流量是比较稀疏的,如果采用流量重放的方案很难在保证流量的覆盖度,因此我们在构造云平台的基础流量的时候,更多的是采用主动全量观测的方式进行,这种方案一方面观测时长可控,保证在一次实验场景中完成全量观测任务。其二观测覆盖可控,保证观测任务能覆盖系统的核心功能,其三,结果可控,观测结果预期稳定,有利于实验结果的判断。在业务稳定性的观测上,建立流量入口稳定性观测方案。
在价值方面:
1. 混沌实验平台在k8s扩展组件的功能和稳定性验证方面发挥作用
2. 在业务接入方面提供了稳定性验证的标准化方案,帮助业务实现稳定性的优化和改造