Tekton

CI/CD在代码开发部署中占据很重要的地位,也是微服务系统快速集成快速部署的关键,当然也是云原生生态中不可缺少的组成部分。k8s是目前最流行的云原生系统核心,把代码发布到k8s是目前主流的CI/CD系统必备功能。如果一个CI/CD系统能完全利用k8s系统特性,如在k8s群集运行,借助k8s CRD定义CI/CD pipline task step等资源描述那就是极好的。于是就有了Tekton pipeline,Tekton就是完全依赖k8s环境,k8s原生的CI/CD 系统,可以说是k8s的亲儿子。

Tekton 是由k8s原生serverless系统knative build组件独立出来的,专门处理CI/CD相关流程。简单理解就是构建了在git管理系统(目前支持github gitlab)和k8s的一个桥梁。

task 相当于函数 ,taskrun相当于函数的调用。
pipeline将tasks组合起来,可以是各种dag图的关联形,pipelinerun是对pipeline执行。
steps为task的一个个子过程,相当于在一个container执行相应命令。
一个task对应k8s一个pod。

resources代表外部资源,提供外部资源的输入输出, resources的inputs为外部资源的输入如github上的代码,resources outputs 为外部资源输出,如task中构建好的image到镜像存储系统。

condition代表执行条件,实际也是由container执行 check script。

一个函数的输入包括传入的参数,外部资源(文件,第三方api等),函数出入参数对应Tekton input params, 外部资源对应 Tekton pipelineresources, 输出同样包括输出参数,外部资源(文件,第三方api等)对应Tekton input params。

params 函数参数定义,实际由taskrun运行这个task(相当于函数)输入参数,支持array string,得出结果。

总体设计很好采用目前最流行的pipeline形式,容易理解。设计可扩展性强,支撑各种情景的定义,充分考虑了复用,设计很完善,但是同时也带来了复杂性。

目前Tekton还没有正式发布,计划今年20年正式发布,但是有很多企业和平台已经引入了,如redhat的openshift平台就把Tekton进行了封装和引入,jenkinsX直接将其作为组件使用。

Tekton成熟度不如同类型的argo,但是设计理念新,又是google加持,原生于k8s,相信后边会越来越强大会是未来ci/cd的趋势。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • OpenShift Pipeline 是一种云原生,持续集成和交付(CI/CD)解决方案,使用Tekton构建pi...
    一个技术阅读 4,196评论 0 0
  • 前言 我们通常的开发流程是,在本地开发完成应用之后,使用git作为版本管理工具,将本地代码提交到类似Github这...
    GeekerLou阅读 9,849评论 0 2
  • Tekton是什么? Tekton 是一个强大且灵活的 Kubernetes 原生开源框架,可用于创建持续集成和交...
    wu_sphinx阅读 7,091评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,757评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,359评论 4 8

友情链接更多精彩内容