首页 > 其他分享 >Tekton 基础

Tekton 基础

时间:2023-12-04 16:14:07浏览次数:29  
标签: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。

 

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自动触发。

 

参考文档

https://tekton.dev/docs/

标签:Task,pipelines,Kubernetes,基础,Tekton,构建,Pipelines
From: https://www.cnblogs.com/wangguishe/p/17862551.html

相关文章

  • 软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
    变量什么是变量?变量是在程序中用于存储数据的名称。它们可以存储各种类型的数据,比如数字、文本、列表、字典等等。变量类型在介绍变量时,可以提及Python中常见的变量类型,例如整数、浮点数、字符串、布尔值、列表、元组、字典等。如下所示:a=1b='muller'c='123'd=......
  • Tekton TaskRun 基础
    TaskRun概述TaskRun允许您在集群上实例化和执行Task。任务指定执行容器映像的一个或多个Steps,每个容器映像执行特定的构建工作。TaskRun按照指定的顺序执行任务中的Steps,直到所有Steps执行成功或失败。TaskRun配置清单apiVersion:tekton.dev/v1#指定API版本。kind:T......
  • Java零基础-if条件语句
    前言条件语句是编程语言中最基础也是最常用的语句之一,对于初学者来说,掌握好条件语句是学习编程的第一步。本文将以Java开发语言为例,详细介绍Java中的if条件语句及其应用场景。摘要本文主要包含以下内容:Java中的if条件语句的概念和语法格式if条件语句的源代码解析if条件语句......
  • 3.计算机硬件和基础架构
    现在的计算机和移动设备都遵循冯诺依曼架构冯诺依曼架构:输入设备:键盘,鼠标,触屏(CPU)运算器+控制器:运算器:负责运算控制器:负责控制语句(顺序,循环,条件)输出设备:显示屏,打印机内部存储器:内存条外部存储器:硬......
  • 头歌—密码学基础
    第1关:哈希函数题目任务描述本关任务:利用哈希算法统计每个字符串出现的个数。相关知识为了完成本关任务,你需要掌握:1.密码学哈希函数的概念及特性,2.安全哈希算法。密码学哈希函数的概念及特性我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具......
  • Python基础 continue; pass; break;
    在Python中,pass、continue和break都是在循环中使用的控制语句,但它们的作用是不同的。pass是一个空操作语句,它的作用是保持程序的控制流程,不做任何事情。当你在编写代码时,如果你需要一个语句块,但你还没有决定在里面放什么,你可以使用pass。例如,在创建一个空的类或者函数时,你可能会使......
  • 2023-2024-1 20231413 《计算机基础与程序设计》第十周学习总结
    2023-2024-120231413《计算机基础与程序设计》第十周学习总结1.作业信息班级:2023-2024-1-计算机基础与程序设计作业要求:2023-2024-1《计算机基础与程序设计》教学进程目标:自学教材:计算机科学概论第12、13、14章并完成云班课测试《C语言程序设计》第9章并完成云班课测试......
  • Restart Study MySQL-01数据库概述(基础)
    C(Chapter)C-01.数据库概述1.为什么要用数据库持久化(persistence):把数据保存到可掉电式存储设备(硬盘)中以供之后使用。大多数情况下,特别是企业应用,数据持久化是将内存中的数据保存到硬盘上加以"固化",而持久化的实现过程大多使用各种关系数据库来完成。持久化的主要作用是将......
  • 2023-2024-1 20231309 《计算机基础与程序设计》第十周学习总结
    2023-2024-120231309《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十周作业这个作业的目标作业正文2023-2024-120231309《计算机基础与程......
  • 2023-2024-1 20231415 《计算机基础与程序设计》第十周学习总结
    这个作业属于那个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10这个作业的目标信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与......