文章目录
- [CI/CD 流水线系统-开源框架Tekton](#CI/CD 流水线系统-开源框架Tekton)
CI/CD 流水线系统-开源框架Tekton
什么是Tekton
官网:https://tekton.dev/
Tekton 是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和发布应用。
Tekton is a powerful and flexible open-source framework for creating CI/CD systems, allowing developers to build, test, and deploy across cloud providers and on-premise systems. Get started with Tekton.
Tekton是一个强大而灵活的开源框架,用于创建CI/CD系统,使开发人员能够在云提供商和本地系统上构建,测试和部署。开始使用Tekton。
Tekton优点
可移植性: 跨平台、语言、和部署环境。它适用于 Jenkins、Jenkins X、Skaffold、 Knative 和许多其他流行的 CI/CD 工具。
可定制:Tekton 实体是完全可定制的,从而具有高度的灵活性。平台工程师可以定义非常详细的构建基目录,以供开发人员在各种情况下使用
可重复使用:Tekton 实体是完全可移植的,因此一旦定义,组织内的任何人都可以使用给定的管道并重用其构造块。这使开发人员可以快速构建复杂的管道,而无需"重新发明轮子"。
可扩展:Tekton Catalog是Tekton社区驱动的存储库。您可以使用Tekton目录中的预制组件快速创建新的并展开现有管道。
标准化:Tekton 在您的Kubernetes集群上作为扩展安装并运行,并使用成熟的 Kubernetes 资源模型, 其工作负载在 Kubernetes 容器内执行。
缩放性:为了增加工作负载容量,您可以简单地将节点添加到群集, Tekton 随集群一起扩展 无需重新定义资源分配或对管道进行任何其他修改。
Tekton 组件介绍
Tekton Pipelines:Tekton 的基础部分,它定义了一组Kubernetes自定义资源,这些资源充当构建块,您可以从中组装CI/CD管道。
Tekton Triggers:允许基于 event 实例化 pipeline。例如,每次PR与GitHub存储库合并时,您都可以触发管道的实例化和执行。
Tekton Cli:是Tekton Pipelines的一个基于Web的图形界面,用于显示有关管道执行的信息。目前正在进行中。
Tekton Dashboard:是Tekton Pipelines的一个基于Web的图形界面,用于显示有关管道执行的信息。
Tekton Catalog:是一个由社区贡献的高质量Tekton构建块(任务、管道等)的存储库,可在您自己的管道中使用。
Tekton Hub:基于Web的图形界面,用于访问Tekton Catalog。
Tekton Operator:是一个Kubernetes Operator模式,允许您在Kubernete集群上安装、更新和删除Tekton项目。
Tekton Chain : 为使用Tekton Pipelines建造的文物提供生成、存储和标记出处的工具。
Tekton 概念术语
Tekton Pipelines 中最重要的五个概念:Task、TaskRun、Pipeline、PipelineRun、PipelineResources(已在v0.44版本被丢弃,此处简单了解)。
Task:Tekton 中的最小单元,代表一个任务模板,包括多个步骤 。定义一个有序的Step以及每个 Step 调用特定的 在一组特定的输入上构建工具,并生成一组特定的输出,这些输出可用作下一个输入 Step。
流水线来自于工业自动化流水线作业,对于研发过程,通过自动化平台完成从代码提交到交付上线的全流程。step是流水线的最小工作单元。
多个step构成了流水线的主体,Tekton 平台基于云原生,每个步骤都是基于 docker image运行时在容器内执行。
TaskRun:实例化一个特定的 Task 在一组特定的输入并生成一组特定的输出,并且一个 TaskRun 会创建一个对应的 Pod,每个 step 对应 pod 中的一个 container。
Pipeline:Tekton 中一系列有序 Task 组成的有向无环图,定义了流水线的模板。
PipelineRun:Pipeline 执行时需要定义一个 PipelineRun,作为流水线的实例,生成一条流水线记录。
PipelineResource(已被丢弃):流水线执行过程中需要的资源信息。