一种基于Kubernetes的持续集成持续交付的方法技术

技术编号:28033963 阅读:27 留言:0更新日期:2021-04-09 23:15
本申请公开了一种基于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/CD Master POD,用Lable去管理了CI/CD集群Slave POD,本身Lable关联了多个Slave,构成了一个资源池,并发能力就提高了。Slave整体的空间利用率有效提高,空间不足造成的构建失败大大减少。整个集群,通过Lable管理,综合利用率提高了,反应到Disk和CPU上使用均衡,保持相对合理水平。

【技术实现步骤摘要】
一种基于Kubernetes的持续集成持续交付的方法
本申请涉及网络
,具体而言,涉及一种基于Kubernetes的持续集成持续交付的方法。
技术介绍
CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD主要针对在集成新代码时所引发的问题。CI/CD可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。基于Kubernetes更加稳定的为软件开发提供服务。Kubernetes对于开发者来说是一个惊人的开源容器编排引擎。Kubernetes是由Google发起的,这使Kubernetes在使用多个开源容器项目方面有一个惊人的优势。默认情况下,Docker更受Kubernetes的使用者支持和青睐。持续集成与持续部署是我们日常工作中必不可少的一个步骤,目前大多企业单位采用传统的CI/CD一主多从方式会存在一些痛点,比如:主Master发生单点故障时,整个流程都不可用了;每个Sla本文档来自技高网...

【技术保护点】
1.一种基于Kubernetes的持续集成持续交付的方法,其特征在于,包括/nS1、交付CI/CD-Master到Kubernetes中;/nS2、CI/CD-Slave镜像定制构建;/nS3、交付CI/CD-Slave到Kubernetes中;/nS4、同质slaves添加相同Label,同类型jobs使用Label进行构建;/nS5、增大slave的executor数目;/nS6、定时扫描清理slaves上的废弃jobs的遗留workspace;/nS7、业务jobs配置workspace清理规则。/n

【技术特征摘要】
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中,并添加环境变量以供编译调用;
第五步,其他开发工具添...

【专利技术属性】
技术研发人员:华张辉
申请(专利权)人:中教云智数字科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1