上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

A3-余超-多云环境中部署及管理Kubernetes 集群的测试自动化实现.pdf

编号:152032 PDF 44页 15.02MB 下载积分:VIP专享
下载报告请您先登录!

A3-余超-多云环境中部署及管理Kubernetes 集群的测试自动化实现.pdf

1、多云环境中部署及管理K8S集群的测试自动化实现余超VMWARE 技术专家余超VMWARE技术专家,多云平台TKG产品测试开发负责人。原第四范式质量部团队测试专家,负责实现AI平台产品的CICD流水线搭建,实现AI微服务平台产品的快速交付和自动化测试。曾任职于百度和freewheel资深测试开发工程师。国内QECon、MTSC、中国软件技术大会等技术峰会演讲嘉宾,知乎&TesterHome质量技术沙龙讲师。软件研发效能权威指南 副主编嘉宾照片目录CONTENTS被测对象:VMware TKG01 TKG测试要解决的问题和解决思路03 核心解决方案04 落地效果与总结05 自动化测试框架02 01

2、被测对象:VMware TKGTKG是什么?TKG概述TKG 是 VMware 推出的一种 Kubernetes 管理平台,旨在简化 Kubernetes 集群的部署、管理和运维。TKG 支持多种部署模式,包括本地部署、公有云部署和私有云部署等。TKG 还提供了一些额外的功能,如自动升级、安全加固、日志监控等。TKG 使用了 Cluster API 作为其底层技术之一,以便更好地管理 Kubernetes 集群的生命周期。通过使用 Cluster API,TKG 可以实现自动化的集群创建、扩展、升级和删除等操作,从而大大简化了 Kubernetes 集群的管理和运维。因此针对TKG产品的测试,

3、不仅包含对Kubernetes 集群生命周期的测试,也包括其对接公有云、私有云和混合云能力的测试。TKG对接云厂商能力TKG是一个企业级的Kubernetes发行版,可用于在多个云环境和数据中心中部署和管理Kubernetes集群。它提供了一个一致的Kubernetes体验。任何地方都可以运行与云无关并且一致的VMware基础架构相同的操作相同的体验01K8S发版 VS vphere发版02测试维度繁多03QA于DEV测试范畴不同各个组件的频繁变更,支持多版本k8s测试,支持不同云厂商平台对接考虑众多测试维度,从操作系统到网络,从云厂商到集群操作步骤基础功能测试和研发定制化功能测试TKG测试现

4、状02TKG测试需求及解决思路TKG测试需求部署需求构建对接云基础环境,多云适配;构建TKG的管理集群和负载集群个性化测试需求云资源选择;操作系统选择;网络选择;LB 服务暴露方案选择;集群基础功能测试选择(cni,csi)测试场景覆盖覆盖部署,升级,多版本部署和以上个性化测试需求的组合测试;TKG测试-多云环境适配问题及解决方案Deploy_AVSDeploy_GCVEDeploy_VMCDeploy_OCVS多云适配前提:在各个云环境中成功部署和运行vsphere套件,由vsphere提供计算、存储和网络解决方案TKG测试-多云环境适配方案(计算资源)在任意云平台上使用vCenter对计算

5、资源进行配置,在一套SDDC环境中进行多套TKG测试环境的部署TKG测试-多云环境适配方案(网络资源)在任意云平台上使用NSX对网络资源进行生成和配置,在一套SDDC环境中进行多套TKG网络环境部署TKG测试-快速部署问题及解决方案A Avspherevsphere部署Vsphere套件部署,包括vCenter和NSXB BTestbedTestbed部署Jumper机器部署;计算/存储资源和网络部署C C节点部署包括TKG环境的机器节点资源部署和操作系统部署等TKG测试-快速部署问题及解决方案(1)创建vsphere创建Testbed创建集群节点一次性创建创建Jumper VM,获取调用vC

6、enterNSX,EXSI能力对扩展 CRDs定义的自定义资源进行创建和更新,从而进行k8s集群的部署TKG测试-快速部署问题及解决方案(2)Ova文件在contentlibrary 导入的image管理节点和负载节点的设定网络和存储设定TKG测试-快速部署问题及解决方案(3)Tkg1.6.0为例操作系统K8S版本ova-ubuntu-2004-v1.23.8+vmwareova-ubuntu-2004-v1.21.14+vmwareova-ubuntu-2004-v1.22.11+vmwareOVA文件(包含操作系统和K8S版本)部署所需的镜像模版TKG测试-快速部署问题及解决方案(4)一次

7、性部署vsphere自动化脚本(buttom core进行testbed部署)调用cluster-api在上述环境中进行TKG部署,包括management-cluster和workload-cluster以上步骤总耗时在30mins以内TKG测试-维度多,组合爆炸问题及解决思路操作系统,K8S版本.操作系统包括ubuntu/Rhel/photon;k8s包括近期最新三个版本.01测试操作,网络.操作包含安装/升级/多版本部署,网络有Calico/flannel/Antrea.02节点大小,LB.按计算资源和内存分大中小三种节点;LB支持kube-vip和AVI03定制化测试.Sanity测试

8、、NetSmoke测试、CSI测试、Scale测试04仅仅图中的测试维度组合就达到上千种,串行需2周以上时间才能测试完毕。TKG测试-维度多,组合爆炸问题及解决思路(1)支持全量化所有测试维度组合支持组合条件过滤,降低无效测试组合支持用户自定义测试组合支持多个完整测试case执行的并行化支持部署幂等化,支持多部门在同一套TKG环境中进行串/并行测试支持测试场景自动回收,支持测试失败后测试场景的自动化保留03自动化测试框架TKG-测试框架(Test infra功能介绍与执行流程)创建Testbed安装TKG安装K8S集群执行标准化测试cases执行自定义测试cases创建JumperVM,打通v

9、CenterNSX,EXSI;调用安装 TKG CLI,Expose testbed env to TKG安装Management-cluster,workload-cluster执行CNI,CSI,Network,Scale up/down,执行smoke相关cases执行All kinds of app-level cases清除环境TKG-测试框架(Test infra架构-core)BottomcoreTest codeJenkinsTestbedJumperVM,NSX,vCenter,outputs ssh执行TKG指令测试环境网络支持返回集群所需vCenter信息;返回跳板机信息

10、;返回集群所需网络信息MatrixTest frame测试环境主机/计算能力支持TKG-测试框架(Test infra架构-core)ButtomcoreTest codeJenkinsMatrixTest frame跳板机器可以ssh访问Inbould ruleANYGroup-segmentSegment网段能访问外网,而集群机器均来自此segmentOutbound ruleANYGroup-segment跳板机内外网打通NAT rule for jumperPublicIPPrivateIPNsx API实现nat/USER/nat-ruleNsx API实现/rules/displa

11、y_nameTKG-测试框架(Test frame-Test Code)BottomcoreTest codeJenkinsMatrixparameters(extraParameters+choice(name:CNI,description:Which CNI be tested,choices:”Flannel,Calico,All,),ScriptpytestArgs+=-cni=env.CNI最终会调用pytest命令,eg:pytest-os-name=ubuntu-cni=Calico /home/jenkins/test_cluster_create.pyTest frameT

12、KG-测试框架(Test frame-Test Code)BottomcoreTest codeJenkinsMatrixTest-testbed.pyTest-clustercreate.pyTest-clusterupgrade.pyTest-scale.pyTest-networksmoke.pydef test_scale_up_workers():cluster=find_cluster(mgmt_cluster)if clusterworkers!=5/5:run(ftanzu cluster scale mgmt_cluster-worker-machine-count=5)as

13、sert clusterworkers=5/5”Test frame集群节点scale 测试TKG-测试框架(Test frame-Jenkins)BottomcoreTest codeJenkinsMatrixupgrade.groovyinstall.groovymultiVersionInstall.groovyStages -stage(Create Testbed)-stage(install clusters)-stage(Run Scaling tests)-stage(Run Network Tests)when env.RUN_NETWORK-stage(Run Delete

14、 Tests)Test frame选择需要run的caseTKG-测试框架(Test frame-Jenkins)BottomcoreTest codeJenkinsMatrixinstallTest frame04核心解决方案TKG-测试框架(全量测试场景)-Node sideNode SizeLB:kube-vip,AVITest suite:Install,Upgrade,Multi-version-installOS:Unbutu 20.04/18,RHELLaas:AWS,GCVE,AVS,OCVS测试维度测试类型的选择操作系统的选择Iaas平台的选择LB选择节点大小选择Netsmo

15、keCSI test caseDEV test caseTKG-测试框架(全量测试场景)-Install-Upgrade-MulversionInstall-Unbutu 18-Unbutu 20-RHEL-Photon-Amazon-AWS-Dimension-GCVE-AVS-OCVS-测试类别-操作系统-Iaas类别Matrix的组合处理,生成多套完整的测试场景。仅仅测试类别、操作系统、laas三者的组合数:3*5*5=75种BottomcoreTest codeJenkinsMatrixTest frame重写了Matrix的能力TKG-测试框架(全量测试场景)Matrix的组合维度过

16、多,峰值达到上千条,需要剔除不重要的测试的组合场景;因此需要做到定制化灵活地组合测试场景和支持并发执行测试。测试类别安装升级.操作系统Ubuntu,PhotoLaas类别Google云,Azure网络CalicoAntrea.HAKube-vipAVIinstall-gcve-ubuntu_20.04-antrea-proxypipelineBottomcorecorgiJenkinsMatrixTest frame节点大小LargeMedium.TKG-测试框架(全量测试场景-axis)Matrix:在声明性流水线中,阶段可以包含一个 matrix(矩阵)部分,用于定义一个多维的名称-值组合

17、的矩阵,下图中多个axis的值可进行组合并支持pipeline并行运行。matrix axes axis name TEST_SUITEvalues install,upgrade,multi-version-install axis name PLATFORMvalues ubuntu,photon,redhat,Amazon./.-Install-Upgrade-MulversionInstall-Unbutu 18-Unbutu 20-RHEL-Photon-AmazonTKG-测试框架(全量测试场景-axis)Matrix:包含一个 excludes(排除项)部分,用于从矩阵中删除无效

18、的组合。需要删除的组合包含在excludes信息中。basic_axes:axis1:name:IAASvalues:-aws-azure axis2:name:OSvalues:-ubuntu-20.04-photonaxis3:name:TEST_SUITEvalues:-install-upgrade-multi-versions-installexcludes:exclude1:axis1:name:IAASvalues:awsaxis2:name:OSvalues:photonexclude2:axis1:name:IAASvalues:azureaxis2:name:TEST_SU

19、ITEvalues:upgrade生成laas(aws,azure),OS(ubuntu,photon)和TEST_SUITE(install,upgrade,multi-versions-install)的组合测试场景.过滤符合laas(aws)/OS(photon)和 laas(azure)/Test_suite(upgrade)的所有测试场景TKG-测试框架(全量测试场景-axis-exclude)-Install-Upgrade-MulversionInstall-Unbutu 20-Photon-AWS-Azure-Install-Upgrade-MulversionInstall-Unbutu 20-Photon-AWS-AzureTEST_SUITEOSIAAS24条测试case15条测试case执行exclude过滤条件全量测试场景利弊根据测试维度大量生成测试用例;功过exclude进行部分测试场景的过滤优 势劣 势TKG-测试框架(全量测试场景-axis-exclude)05落地效果与总结TKG-测试框架(发版测试)Matrix 混合模式执行发版测试,500+条测试case在一个工作日完成BottomcoreTest codeJenkinsMatrixone pipelinematrixTest frame感谢聆听关注QECon公众号微信号

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(A3-余超-多云环境中部署及管理Kubernetes 集群的测试自动化实现.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部