Kubernetes每隔两个月会进行版本升级,每次升级后的k8s需要在多云环境中进行部署和管理测试的验证。测试的维度将包括众多云环境(Azure、OCVS、AWS、GCVE, VSphere)、K8S版本(至少近三个版本)、不同的网络解决方案(calico、flannel、Antrea)、不同操作系统(ubuntu/redhat/photon)、不同节点大小、不同HA支持方案(kube-vip/AVI)等等;这些维度的组合将构成上千个测试场景的集合,需要数周的测试时间、如何设计兼容以上测试场景并高效进行并发测试的框架,就是一个非常具有挑战和迫切的事情。
每次发版QA会集中测试多云环境中VSPHERE和K8S的基础功能(网络、PV、apiserver lb、集群节点的scale up/down等),但对于每次发版的产品新功能,需要由研发进行新功能测试代码的编写,因此需要将研发脚本整合到QA的测试框架下,并且保证研发进行新功能测试的代码不会影响QA测试脚本的运行结果,同时要将运行结果尽快反馈给研发和产品的同事、以尽快进行产品缺陷的修正和验证case的修改
VMWARE技术专家,多云平台TKG产品测试开发负责人。原第四范式质量部团队测试专家,负责实现AI平台产品的CICD流水线搭建,实现AI微服务平台产品的快速交付和自动化测试。曾任职于百度和freewheel资深测试开发工程师,期间负责百度“爱耳目”产品的服务端测试和freewheel公司各个业务部门产品的CICD建设。
多云环境中部署及管理Kubernetes 集群的测试自动化实现
1.构建全新的测试框架,将对接多云SDDC资源、测试环境构建、运行测试case并行执行,在4小时内完成以往数周的测试工作量。
2.整合integration测试,将不同部门的基础测试环境搭建和运行测试脚本的环境进行整合,并将结果通知到不同部门接收,使得不同部门不同产品的测试流程更加平顺。
3.将Sanity Tests、networking Test、vSphere CSI Test、Specific K8S Tests整合到QA的regression测试中,满足多云环境中基础feature测试的要求。
1.多云环境中,如何对容器编排的K8S或类似的开源平台进行测试框架的测试开发工作;如何满足在多维测试条件下设计测试场景、使其在有限的计算资源下进行并存测试。
2.如何整合Sanity Tests、networking Test、vSphere CSI Test、Specific K8S Tests到一个测试场景中;有效对接QA的regression测试和Dev的新feature功能测试;如何将不同部门并有着上下游关系的测试案例进行组合并将测试结果展现出来。