我很喜欢tekton的logo,我决定用它的原因不是因为他是谷歌的亲儿子,单纯因为和我家柴犬长得很像。
流水线
在计算机中,流水线是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术,也叫 Pipeline。由于这种工作方式与工厂中的生产流水线十分相似, 因此也被称为流水线技术。从本质上讲,流水线技术是一种时间并行技术。
基本概念
Tekton 最主要的四个概念为:Task、TaskRun、Pipeline 以及 PipelineRun。
- Task: Task 为构建任务,是 Tekton 中不可分割的最小单位,正如同 Pod 在 Kubernetes 中的概念一样。在 Task 中,可以有多个 Step,每个 Step 由一个 Container 来执行。
- Pipeline: Pipeline 由一个或多个 Task 组成。在 Pipeline 中,用户可以定义这些 Task 的执行顺序以及依赖关系来组成 DAG(有向无环图)。
- PipelineRun: PipelineRun 是 Pipeline 的实际执行产物,当用户定义好 Pipeline 后,可以通过创建 PipelineRun 的方式来执行流水线,并生成一条流水线记录。
- TaskRun: PipelineRun 被创建出来后,会对应 Pipeline 里面的 Task 创建各自的 TaskRun。一个 TaskRun 控制一个 Pod,Task 中的 Step 对应 Pod 中的 Container。当然,TaskRun 也可以单独被创建。
解释一下啊,我是个富二代特别有钱,有一天我看上了隔壁老王的闺女小张,pipeline就好比是我想追她列出来的一个求爱清单,周一送花、周二送包、周三送首饰,每一天都是个情人节,每一天都是一个task,但是细节还不够,周一送花鲜的太笼统,去哪里买,买什么颜色的,买多少朵,每一个细节称为step,求爱清单列出来了该付出实际行动了,我一富二代除了最后一步亲力亲为剩下全外包出去,这时候我找了一个管家PipelineRun,管家拿到我的清单开始安排小弟们去行动,一个小弟负责一天,每一个小弟就是一个TaskRun,其实就是k8s中的一个pod,小弟照着清单看着我逼逼赖赖的要求,去绿色花店买,绿颜色的,11朵玫瑰,每个行为都是一个Container,就这样经过3日的努力我成功的得到了爱的鼓励。