包虫病

注册

 

发新话题 回复该主题

云原生CICD框架Tekton初 [复制链接]

1#

Tekton是一款功能非常强大而灵活的CI/CD开源的云原生框架。Tekton的前身是Knative项目的build-pipeline项目,这个项目是为了给build模块增加pipeline的功能,但是随着不同的功能加入到Knativebuild模块中,build模块越来越变得像一个通用的CI/CD系统,于是,索性将build-pipeline剥离出Knative,就变成了现在的Tekton,而Tekton也从此致力于提供全功能、标准化的云原生CI/CD解决方案。

Tekton为CI/CD系统提供了诸多好处:

可定制:Tekton是完全可定制的,具有高度的灵活性,我们可以定义非常详细的构建块目录,供开发人员在各种场景中使用。可重复使用:Tekton是完全可移植的,任何人都可以使用给定的流水线并重用其构建块,可以使得开发人员无需"造轮子"就可以快速构建复杂的流水线。可扩展:TektonCatalog是社区驱动的Tekton构建块存储库,我们可以使用TektonCatalog中定义的组件快速创建新的流水线并扩展现有管道。标准化:Tekton在你的Kubernetes集群上作为扩展安装和运行,并使用完善的Kubernetes资源模型,Tekton工作负载在KubernetesPod内执行。伸缩性:要增加工作负载容量,只需添加新的节点到集群即可,Tekton可随集群扩展,无需重新定义资源分配或对管道进行任何其他修改。组件

Tekton由一些列组件组成:

TektonPipelines是Tekton的基础,它定义了一组KubernetesCRD作为构建块,我们可以使用这些对象来组装CI/CD流水线。TektonTriggers允许我们根据事件来实例化流水线,例如,可以我们在每次将PR合并到GitHub仓库的时候触发流水线实例和构建工作。TektonCLI提供了一个名为tkn的命令行界面,它构建在KubernetesCLI之上,运行和Tekton进行交互。TektonDashboard是TektonPipelines的基于Web的一个图形界面,可以线上有关流水线执行的相关信息。TektonCatalog是一个由社区贡献的高质量Tekton构建块(任务、流水线等)存储库,可以直接在我们自己的流水线中使用这些构建块。TektonHub是一个用于访问TektonCatalog的Web图形界面工具。TektonOperator是一个KubernetesOperator,可以让我们在Kubernetes集群上安装、更新、删除Tekton项目。安装

安装Tekton非常简单,可以直接通过tektoncd/pipeline的GitHub仓库中的release.yaml文件进行安装,如下所示的命令:

kubectlapply--filename

分享 转发
TOP
发新话题 回复该主题