下一代 CI/CD:利用 Tekton 和 ArgoCD 实现云原生自动化-一、回顾目标

时间:2024-06-01 21:22:12

背景:

​ 部门业务上云,之前服务采用传统的部署方式,这种方式简单,但是不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响。随着互联网时代的到来,计算机的各项技术都有了巨大提高,推动了虚拟化、容器化技术的产生和发展,以及现在的云原生时代的到来,都极大提高了其资源利用率。

目标:

2022年下半年完成在kubernetes上的CI/CD实践,服务上云并保证服务活性。

流程:

在这里插入图片描述

CI:开发人员通过推送自己的代码来自动触发构建流程,流程触发之后会根据EventListeners对应的tekton pipeline来构建服务镜像,推送至镜像仓库并更新manifest中image_tag部分

CD:通过argoCD来对更新的manifest进行同步,并发布至集群

结果:

1.多种语言的构建流程,方便拓展。例如,Java、golang、node、python

2.实现了全自动化的服务部署,开发确认调整好了git仓库中的文件,就会触发构建流程。

3.对服务资源的可控性,避免了某个服务异常导致机器出现宕机,从而影响业务正常情况。

4.方便水平伸缩,服务请求较高时,适当调整replicas副本数。

5.灵活扩展,满足我们复杂多变的业务需求

6.让开发人员有更多的精力聚焦于业务开发上,避免繁琐的流程。