首页 > 其他分享 >Tekton组件及资源对象

Tekton组件及资源对象

时间:2023-01-25 15:34:29浏览次数:43  
标签:Pipeline Task Kubernetes 对象 Tekton 特定 组件 流水线

Tekton由如下7个组件构成

1)Tekton Pipeline:Tekton Pipeline是Tekton的基础组件,定义了一组Kubernetes自定义资源。作为构建模块的基础,你可以使用它们装配CI/CD流水线。

2)Tekton Trigger:Tekton Trigger可以实现基于事件实例化的流水线。例如,你可以在GitHub代码库合并PR时触发流水线的实例化和执行,也可以创建一个用于启动特定的Tekton触发器的用户接口。

3)Tekton CLI:Tekton CLI提供了一个名为tkn的命令行界面,你可以使用它与Tekton进行交互。

4)Tekton Dashboard:Tekton Dashboard是Tekton Pipeline的Web图形界面,展示有关流水线的执行状况。

5)Tekton Catalog:Tekton Catalog是一个高质量的、由社区贡献的构建模块(任务、流水线等)仓库。这些模块可随时在你的流水线中使用,例如docker-build、create-gitlab-release、git-clone等共用的构建模块。如果我们在Tekton中需要实现docker-build功能,无须自己编写Task,可直接使用Catalog项目中提供的功能配置,也可以根据自己的需求进行修改。

6)Tekton Hub:Tekton Hub是用于访问Tekton Catalog的Web图形界面。

7)Tekton Operator:Tekton Operator是一个Kubernetes Operator,可用于便捷地在Kubernetes集群上安装、更新以及删除Tekton项目。

Tekton引入了Task、Pipeline、TaskRun、PipelineRun、PipelineResource概念,通过它们指定任何想要运行的工作负载。

1)Task:定义了一个由Step组成的有序集合,每个步骤基于一组特定的输入调用特定的构建工具,并产生一组特定的输出。

2)Pipeline:定义了一系列与构建或交付相关的Task,可由事件触发或PipelineRun调用。

3)TaskRun:通过特定的输入、输出、执行参数来实例化Task。换句话说,Task告诉了Tekton该做什么,而TaskRun则告诉Tekton在什么参数基础上做。

4)PipelineRun:实例化特定的Pipeline,在一组特定输入的基础上执行Pipeline并产生一组特定的输出到特定目标。

5)PipelineResource:用于定义Task中Step的输入和输出的位置。

每个任务都在自己的Kubernetes Pod中执行。因此,默认情况下,流水线中的任务不共享数据。要想在任务之间共享数据,你必须显式配置每个任务,以使其输出可用于下一个任务,并将先前执行的任务的输出作为其输入。任何一个任务都适用此规则。

Task与Pipeline的适用场景如下。

1)Task适用于简单的工作负载,诸如运行测试、代码检查或构建Kaniko缓存。每个Task在独立的Kubernetes Pod中执行,使用独立的存储空间。Task在定义简单任务的同时保持配置上的简单。

2)Pipeline适用于复杂的工作负载,诸如对代码的静态分析、测试、构建、部署这类需要完成多个任务的综合项目。

标签:Pipeline,Task,Kubernetes,对象,Tekton,特定,组件,流水线
From: https://www.cnblogs.com/muzinan110/p/17066986.html

相关文章

  • Tekton的概念模型
    Tekton的主要功能是实现持续集成和交付部署。TektonPipeline是其核心组件,其他组件都是建立在TektonPipeline之上的。1Step、Task和PipelineStep(步骤)是CI/CD工作流中最......
  • Tekton应用CI/CD配置
    下面的Pipeline配置中使用了镜像标签自动生成、代码构建和镜像推送、应用镜像部署三个任务。也可以根据各自持续集成和交付的需求添加诸如代码质量检查、自动化测试等任务,......
  • 面向对象-继承-2
    面向对象-继承-2......
  • 云边协同CloudCore组件
    CloudCore架构CloudCore通过List/Watch的方式与云交互,将监听到的事件下发到边缘,同时负责接收边缘以事件的形式上报的状态数据。这些功能是由CloudCore中的不同模块完成的......
  • 管理边缘负载EdgeCore组件
     EdgeCore架构EdgeCore包含的功能模块比较多,包括EdgeHub、MetaManager、DeviceTwin、EventBus、Edged、EdgeMesh、CSI和CNI。接下来逐个对其进行解析。1)EdgeHub:KubeEdg......
  • 与终端设备交互Mapper组件
    Mapper架构从与KubeEdge边部分EdgeCore对接的协议划分,终端设备可以分为通过MQTT协议进行对接的终端设备和通过HTTP进行对接的终端设备。1)通过MQTT协议进行对接的终端设......
  • js对象优化
    以相同顺序初始化对象成员,避免隐藏类的调整实例化后避免添加新属性尽量使用Array代替array-like对象避免读取超过数组的长度避免元素类型转换注:第五点图片解释 ......
  • 面向对象-继承-1
    面向对象-继承-1......
  • 在React中,怎么用tailwind css(就叫顺丰吧 :D 。。。)封装Button组件
    我的目的想用tailwindcss来快速封装Button组件,而不是从更大型的UI库导入一个Button组件(那样就太大材小用)。几个工具从这抄的样式在学习怎么形成规范化的组件额,仅......
  • Hive SQL Join关联查询Apache Hadoop概述Hadoop YARN架构、组件及其交互流程Apache Hi
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学......