预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112631615A(43)申请公布日2021.04.09(21)申请号202110039480.2(22)申请日2021.01.13(71)申请人中教云智数字科技有限公司地址100094北京市海淀区中关村北一街甲15号中教云智(72)发明人华张辉(51)Int.Cl.G06F8/60(2018.01)G06F9/50(2006.01)G06F11/14(2006.01)权利要求书2页说明书8页附图4页(54)发明名称一种基于Kubernetes的持续集成持续交付的方法(57)摘要本申请公开了一种基于Kubernetes的持续集成持续交付的方法,包括以下步骤:交付CI/CD‑Master到Kubernetes中;CI/CD‑Slave镜像定制构建;交付CI/CD‑Slave到Kubernetes中;同质slaves添加相同Label,同类型jobs使用Label进行构建;增大slave的executor数目;定时扫描清理slaves上的废弃jobs的遗留workspace;业务jobs配置workspace清理规则。本方案,并发能力增强,Master存活率强来自于使用Kubernetes集群管理CI/CDMasterPOD,用Lable去管理了CI/CD集群SlavePOD,本身Lable关联了多个Slave,构成了一个资源池,并发能力就提高了。Slave整体的空间利用率有效提高,空间不足造成的构建失败大大减少。整个集群,通过Lable管理,综合利用率提高了,反应到Disk和CPU上使用均衡,保持相对合理水平。CN112631615ACN112631615A权利要求书1/2页1.一种基于Kubernetes的持续集成持续交付的方法,其特征在于,包括S1、交付CI/CD‑Master到Kubernetes中;S2、CI/CD‑Slave镜像定制构建;S3、交付CI/CD‑Slave到Kubernetes中;S4、同质slaves添加相同Label,同类型jobs使用Label进行构建;S5、增大slave的executor数目;S6、定时扫描清理slaves上的废弃jobs的遗留workspace;S7、业务jobs配置workspace清理规则。2.如权利要求1所述的一种基于Kubernetes的持续集成持续交付的方法,其特征在于,S1的步骤如下:第一步,设计Dockerfile:根据所在公司的业务流程,定制一个实例,这样可以将一些插件打包在自定义的实质,在数据存储服务器中开辟一个新的空间,通过NFS的技术手段存储配置数据;第二步,Dockerlmage制作:根据第一步中设计的Dockerfile构建自定义镜像;第三步,搭建Docker私有仓库:Docker镜像仓库默认为开放云平台的DockerHub,因自己公司所打包的自定义Dockerlmage中包含自定义应用或则机密信息,所以要搭建自己的私有仓库来存储自定义镜像以及应用镜像,以便于安全快速的拉取镜像至服务器中启动相应应用程序;第四步,设置ENV;配置镜像环境变量,例如时区环境变量;第五步,启动参数;Linux下内核参数的优化;第六步,构建CI/CDMasterDeployment:Master镜像自定义构建完成,将Master服务以Deployment的方式部署至kubernetes集群中,利用Kubernetes集群特性,当Master所在POD发生异常导致不可用,集群中会再次立即自动启动一个Master来支撑CI/CD的可用性。3.如权利要求1所述的一种基于Kubernetes的持续集成持续交付的方法,其特征在于,S2的步骤如下:第一步,Baselmage:根据所在公司业务系统运行环境,选择CI/CD基础镜像版本;第二步,MavenPlugin:将项目启动所用到的Maven工具添加到Baselmage中,并添加环境变量以供编译调用;第三步,NodePlugin:将项目启动所用到的Node工具添加到Baselmage中,并添加环境变量以供编译调用;第四步,PythonPlugin:将项目启动所用到的Python工具添加到Baselmage中,并添加环境变量以供编译调用;第五步,其他开发工具添加至基础景象中,已满足所有业务编译打包部署需求;第六步,CI/CDSlaveDockerfile:2CN112631615A权利要求书2/2页整合业务中所使用到的所有开发插件至Dockerfile中,构建镜像并将镜像上传至私有Docker仓库中以供集群化部署应用程序快速拉取镜像启动CI/CDSlave节点。4.如权利要求1所述的一种基于Kubernetes的持续集成持续交付的方法,其特征在于,在S3中将CI