可视化 Tekton 组件 Tekton Dashboard
前言
Tekton 作为一款开源的云原生 CI/CD 框架,前身是 Knative 的 build-pipeline 项目。作为 CI/CD 框架,其本身并不是一个 CI/CD 产品,所以不应拿 Tekton 与 Jenkins 或者 Drone 这样的 CI/CD 产品进行比较,Tekton 本质是一个强大而灵活的 CI/CD 框架,开发者可以基于它开发自己的 CI/CD 工具或产品,一些有能力的团队可以使用 Tekton 做为底座开发出更适合自己团队使用的 CI/CD 工具。
而 Tekton 的可视化组件 Tekton Dashboard 则为用户提供了可视化界面,使 Tekton 的体验更接近与 Jenkins 这样的 CI/CD 产品,同时开发者可以在使用 Tekton Dashboard 时也会对 Tekton 的一些概念进行更深入的了解。
本文将会使用 Tekton Dashboard,通过 UI 界面在 K8S 集群中部署一个 Java 项目:pipeline-example-maven
交互式学习
本文还提供 katacoda 交互式学习版本,用户可以直接访问 katacoda 页面:https://katacoda.com/guoxudong/scenarios/tekton-dashboard ,使用 katacoda 在浏览器端学习使用 Tekton Dashboard。
该教程属于官方教程的汉化版,并得到了许可。
Tekton Dashboard
安装
这是所有步骤中最麻烦的一步,由于官方提供的 Tekton 镜像都在 gcr.io
上,在国内并不能直接拉取,所以在测试的时候着实花费了不少时间。
我特意将这些镜像转储到 dockerhub 上,如果官方版无法使用,可以使用克隆版:
安装成功之后需要配置 Tekton Dashboard 的访问地址,可以使用 ingress 或 Nodeport 暴露端口,这里采用 port-forward
的形式将端口映射到本地:
访问 Tekton Dashboard
打开浏览器访问访问 http://localhost:8097
导入资源
点击 Import Tekton resources
进入资源导入页面,导入资源:
Repository URL:
https://github.com/sunny0826/pipeline-example-maven
Namespace:
default
Repository directory:
tekton/
Service Account
tekton-dashboard
输入内容如下:
点击 Import and Apply
按钮,之后 Dashboard 会创建一个 PipelineRun 来导入指定的 Tekton 资源。
点击页面底部的 View status of this run
链接,查看 pipeline-example-maven 导入 Tekton 资源的状态。
PipelineRun 完成后,Tekton 资源已导入成功。
创建 PipelineResource
选择 default
命名空间,并点击 PipelineResource
按钮。
点击页面右上方的 Create +
按钮,将弹出一个创建 PipelineResource 的表单。
我们要在 default
命名空间中为 pipeline-example-maven 的 master
分支创建一个 git PipelineResource,故在弹出的表单中填写以下信息:
Name:
pipeline-example-maven
Namespace:
default
Type:
Git
URL:
https://github.com/sunny0826/pipeline-example-maven
Revision:
master
该表单内容应如下:
点击 Create
按钮,创建 PipelineResource。
创建 PipelineRun
选择 default
命名空间,并点击 PipelineRuns
按钮。
点击页面右上方的 Create +
按钮,将弹出一个创建 PipelineRun 的表单。该表单是动态的,会根据所选的 Pipeline 提供 PipelineResource 和 Param 字段。
我们需要 default
命名空间中使用 pipeline-example-maven
的 Pipeline 和 PipelineResource,创建一个 PipelineRun,故在弹出的表单中填写以下信息:
Namespace:
default
Pipeline:
pipeline-example-maven
PipelineResources source:
pipeline-example-maven
其余字段保留默认值。
该表单内容应如下:
点击 Create
按钮,创建 PipelineRun。
查看 PipelineRun 日志
点击页面顶部创建通知中的链接或在 PipelineRun 列表中对应的 PipelineRun,查看 pipeline-example-maven PipelineRun 的日志。
deploy 步骤中,有时会出现权限错误,需要给 default:default 绑定上 admin 的 clusterrole 权限:
确认 build
和 deploy
任务均已成功。
注意:这里为了方便,使用的是单节点的 Kubernetes,构建完并没有推送到镜像仓库,镜像拉取策略为
imagePullPolicy: Never
,所以启动时候也没有从远程仓库拉取镜像,而是启动的本地镜像。
查看构建结果
总结
Tekton Dashboard 将 Tekton 的资源进行了可视化展示,指导用户快速理解 Tekton pipeline 流程以及配置方式,快速上手 Tekton。但是由于镜像的原因,导致新手体验不佳,所幸官方还提供了 katacoda 交互式教程,该教程我已汉化完成并获得了官方的许可,可以在浏览器端快速体验从安装 Tekton 到部署应用的整个过程。
版权声明: 本文为 InfoQ 作者【郭旭东】的原创文章。
原文链接:【http://xie.infoq.cn/article/ac0ee5edef8a18c301e693fde】。文章转载请联系作者。
评论