一号热搜榜,为您提供最新的热搜资讯,热搜榜信息!

阿里云Kubernetes服务上使用Tekton完成应用发布初体验

百科热搜 作者:阿里云云栖号 热度:520

阿里云Kubernetes服务上使用Tekton完成应用发布初体验

Tekton 是一个功能强大且灵活的 Kubernetes 原生开源框架,用于创建持续集成和交付(CI/CD)系统。通过抽象底层实现细节,用户可以跨多云平台和本地系统进行构建、测试和部署。

本文是基于阿里云Kubernetes服务部署Tekton Pipeline,并使用它完成源码拉取、应用打包、镜像推送和应用部署的实践过程。

tekton

Tekton Pipeline中有5类对象,核心理念是通过定义yaml定义构建过程.构建任务的状态存放在status字段中。

其中5类对象分别是:PipelineResouce、Task、TaskRun、Pipeline、PipelineRun。

Task是单个任务的构建过程,需要通过定义TaskRun任务去运行Task。

Pipeline包含多个Task,并在此基础上定义input和output,input和output以PipelineResource作为交付。

PipelineResource是可用于input和output的对象集合。

同样地,需要定义PipelineRun才会运行Pipeline。

查看Tekton Pipelines组件是否运行正常:

编辑 git-pipeline-resource.yaml :

git repo的分支名称为 tekton 。

编辑 registry-pipeline-resource.yaml :

容器镜像仓库地址为 registry.cn-hangzhou.aliyuncs.com/haoshuwei/tekton-demo, 标签为 latest

创建pipeline resource:

查看已创建的pipeline resource资源:

拉取私有git源码项目需要配置使用Git Repo Authentication;拉取和推送docker镜像需要配置Docker Registry Authentication。在Tekton Pipeline中,Git Repo/Docker Registry Authentication会被定义成ServiceAccount来使用。

编辑 secret tekton-basic-user-pass-git.yaml :

编辑 secret tekton-basic-user-pass-registry.yaml :

编辑 serviceaccount tekton-git-and-registry.yaml :

创建serviceaccount:

查看secret以及sa:

创建ClusterRoleBinding tekton-cluster-admin :

创建task build-app.yaml :

创建taskrun build-app-task-run.yaml :

查看taskrun状态:

查看构建日志:

mvn build的日志:

docker build的日志:

app-deploy的日志:

taskrun的完成状态为True则构建部署过程完成:

Tekton Pipeline中任务模板可以拿来复用,而不需要重复定义,另外通过CRD重新定义CI/CD是一大亮点,初学者可能会觉得有些绕。

持续实验持续更新中。

作者:流生

标签: 初体验     Kubernetes     Tekton