简介
Tekton是一个云原生的CI/CD构建框架。
基本概念
Task
: Tekton中最小的单位,一切任务都是由Task
组成。
TaskRun
:创建了一个TaskRun
以后,每个TaskRun
就会单独控制一个Pod
,Task中的每一个Step都对应pod中的一个Container。
Pipeline
: Pipeline由多个Task组成,多个Task串联,按顺序执行就组成了Pipeline
。
PipelineRun
: PipelineRun
的作用为实际执行Pipeline
。
PipelineResource
: PipelineResource
是Pipeline
上的各种输入输出资源,比如github上的源码(输入),编译产物或者容器镜像(输出)。
ClusterTask
: 是覆盖整个集群的任务,可以在集群的范围运行任务,而不是和Task
一样只能在某一命名空间运行。
运行机制
每当我们创建一个Pipeline
,他就会读取其中的各个Task
任务,执行PipelineRun时实际开始运行Pipeline,每次运行都会生成一个新的PipelineRun
,它会产生对应的TaskRun
,由TaskRun
去产生对应的Pod,运行任务。
部署
部署Tekton
1 | kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml |
TekTon 国内可能存在镜像拉取失败问题,需要魔法方法解决。
1 | kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yaml |
部署Tekton的dashboard ,可以方便直观的管理Tekton
部署tkn工具
tkn
是Tekton的CLI工具,在github直接下载对应版本即可,使用tkn
可以很方便的管理Tekton
基本部署就说这么多,下一节再研究基本使用