Tekton 基础
  1m9rJBpbaLoS 2023年12月12日 14 0

Tekton 概述

Tekton 是用于构建 CI/CD 系统的云原生解决方案。它由 Tekton Pipelines(提供构建块)和支持组件(例如 Tekton CLI 和 Tekton Catalog)组成,使 Tekton 成为一个完整的生态系统。Tekton 是Linux 基金会项目 CD 基金会的一部分。
Tekton 作为 Kubernetes 集群上的扩展安装和运行,并包含一组 Kubernetes 自定义资源,这些资源定义了可以为pipelines创建和重用的构建块。安装 Tekton Pipelines 后即可通过 Kubernetes CLI (kubectl) 和 API 调用使用,就像 Pod 和其他资源一样。

Tekton 优势

1. 可定制。 Tekton 是完全可定制的,具有高度的灵活性。平台工程师可以定义非常详细的构建块目录,供开发人员在各种场景中使用。
2. 可重复使用的。Tekton 是完全可移植的,因此一旦定义,组织内的任何人都可以使用给定的pipelines并重用其构建块。这使得开发人员能够快速构建复杂的pipelines,而无需“重新造轮子”。
3. 可扩展。Tekton Catalog 是社区驱动的 Tekton 构建块存储库。您可以使用 Tekton Catalog 中的预制组件快速创建新pipelines并扩展现有pipelines。
4. 标准化。Tekton 作为 Kubernetes 集群上的扩展安装和运行,并使用完善的 Kubernetes 资源模型。Tekton 工作负载在 Kubernetes 容器内执行。
5. 可扩展。要增加工作负载容量,您只需向集群添加节点即可。Tekton 可随您的集群进行扩展,无需重新定义资源分配或对pipelines进行任何其他修改。

Tekton 系统组件

Tekton Pipelines:是 Tekton 的基础。它定义了一组 Kubernetes自定义资源,这些资源充当构建块,您可以从中组装 CI/CD pipelines。

Tekton Triggers:允许您根据事件实例化pipelines。例如,每次将 PR 与 GitHub 存储库合并时,您都可以触发pipelines的实例化和执行。您还可以构建启动特定 Tekton 触发器的用户界面。

Tekton CLI:提供了一个名为 的命令行界面tkn,它构建在 Kubernetes CLI 之上,允许您与 Tekton 交互。

Tekton Dashboard:是 Tekton Pipelines 的基于 Web 的图形界面,可显示有关管道执行的信息。目前该项目正在进行中。

Tekton Catalog:由社区贡献的Tekton构建块(building blocks,例如Tasks和Pipelines等),用户可直接使用。

Tekton Hub:是一个基于 Web 的图形界面,用于访问 Tekton Catalog。

Tekton Operator: Kubernetes Operator,允许您在 Kubernetes 集群上安装、更新和删除 Tekton 项目。

Tekton Chain:提供了用于为使用 Tekton Pipelines 构建生成、存储和签署来源的工具。

Tekton 概念模型

Tekton Pipelines的Pipeline模型中存在三个核心术语:Step、Task和Pipeline。

Tekton 基础_执行过程

 

Step

1. CI/CD工作流中的一个具体操作,例如Python web app的单元测试,或者是Java程序的编译操作;
2. 每个step都会通过一个特定Container(Pod中)运行;

Task

1. 由一组Step组成的序列,按照定义的顺序依次运行于同一个Pod内的不同容器中;
2. 可共享一组环境变量,以及存储卷

Pipeline

1. 由一组Task组成的集合,可按照定义以不同的方式运行:串行、并行和DAG;
2. 一个Task的输出可由其后Task引用;

TaskRun and PipelineRun

pipelineRun ,顾名思义,是 pipeline 的具体执行过程。例如,您可以要求 Tekton 每天运行两次 CI/CD 工作流程,每次执行都将成为Kubernetes 集群中可跟踪的pipelineRun资源。您可以使用pipelineRuns查看 CI/CD 工作流程的状态,包括每个Task执行的具体信息。
taskRun是Task的具体执行过程。 当您选择在pipeline之外运行任务时,TaskRun也可用,您可以通过它查看Task中每个步骤执行的详细信息。
具体运行时,Task和Pipeline连接至配置的Resource之上,进而创建出TaskRun和PipelineRun。
它们既可由用户手动创建,也可由Trigger自动触发。

Tekton 基础_实例化_02

 

参考文档

https://tekton.dev/docs/



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月12日 0

暂无评论

推荐阅读
1m9rJBpbaLoS