首页 > 其他分享 >Tekton 基础

Tekton 基础

时间:2023-12-12 15:32:51浏览次数:21  
标签:Task pipelines Kubernetes 基础 Tekton 构建 Pipelines

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/



标签:Task,pipelines,Kubernetes,基础,Tekton,构建,Pipelines
From: https://blog.51cto.com/wangguishe/8788266

相关文章

  • Tekton Pipelines 基础
    Pipelines概述Pipeline是Tasks的集合,作为持续集成流的一部分,您可以定义并按照特定的执行顺序排列这些Tasks。Pipeline中的每个Tasks在Kubernetes集群上作为Pod执行。您可以配置各种执行条件来满足您的业务需求。Pipeline使用When表达式when表达式input:被评估的内容,支持使用静态......
  • Tekton TaskRun 基础
    TaskRun概述TaskRun允许您在集群上实例化和执行Task。任务指定执行容器映像的一个或多个Steps,每个容器映像执行特定的构建工作。TaskRun按照指定的顺序执行任务中的Steps,直到所有Steps执行成功或失败。TaskRun配置清单apiVersion:tekton.dev/v1#指定API版本。kind:TaskR......
  • Tekton Tasks 基础
    Tasks概述Task是一系列Step的组合,每个Step主要负责运行特定的构建或交付工具从而完成相关的一次特定事项;Task以Kubernetes集群上Pod运行。Task是名称空间级别的资源。Tasks组成Parameters:是使得Task及Pipeline资源定义出的“模板”更加具有通用性的关键要素之一Steps:具体执行的......
  • Tekton Trigger Interceptors 基础
    Interceptors概述Interceptor是针对特定平台的的事件处理器,在TriggerBinding之前运行。它允许您执行有效负载过滤、验证(使用秘密)、转换、定义和测试触发条件,以及实现其他有用的处理。一旦事件数据通过Interceptor,它就会在将有效负载数据传递到TriggerBinding之前转到Trigger。......
  • 【python基础之装饰器】---装饰器
    title:【python基础之装饰器】---装饰器date:2023-12-1118:54:06updated:2023-12-1214:30:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】什么是装饰器装饰代指为被装饰对象添加新的功能,器代指器具/工具,装饰器与被装饰的对象均可......
  • 【python基础之函数对象和闭包】 --- 函数对象与闭包
    title:【python基础之函数对象和闭包】---函数对象与闭包date:2023-12-1119:20:00updated:2023-12-1119:20:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】函数对象函数对象指的是函数可以被当做数据来处理具体可以分为四......
  • 系统架构设计系列之基础:初探软件架构设计
    前言欢迎来到软件架构设计的世界,这是一次面向有志成为架构师的研发工程师的学习和分享交流的机会。本系列内容将结合理论和实践经验,探讨软件架构的基本知识、设计原则和最佳实践,旨在和大家一起更好地理解软件架构设计的重要性和成为架构师的路径。一、架构的基础我们都知道编......
  • 图的基础概念和深搜广搜序
    有关图的定义图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。图论起源于著名的柯尼斯堡七桥问题(下图所示),该问题于1736年被欧拉解决,因此普遍认为欧拉是图......
  • 面试基础复盘
    px、rpx、em、rem、vw、vhpx:px就是pixel的缩写,意味像素。px就是一张图片最小的一个点,一张位图就是无数个这样的点构成的,是web开发中最常用的像素单位。rpx:由微信小程序官方推出的新单位,适用于移动端的uni-app或者微信小程序的开发。可以根据屏幕宽度进行自适应,1rpx实际上等......
  • shell脚本基础学习
    shell脚本基础学习一.shell的解释:shell具备编程的能力shell是一种解释型语言(不需要提前编译,一边执行一边解释,每种解释性语言都有解释器)shell语言支持大部分编程语言都具备的功能(if判断,for循环,变量,数组,函数,加减乘除,逻辑运算)二.shell脚本的规范模板tips:shell脚本的本......