当前位置:首页 > 科技  > 知识百科

一篇带给你Tekton系列之安装篇

来源: 责编: 时间:2023-08-07 16:29:58 157观看
导读 大家好,我是乔克。从今天开始会给大家带来Tekton的系列文章,主要是自己学习总结,同时也希望对想了解Tekton的朋友有点用处。今天主要分享安装以及简单使用,详细见下文。安装Tekt

大家好,我是乔克。从今天开始会给大家带来Tekton的系列文章,主要是自己学习总结,同时也希望对想了解Tekton的朋友有点用处。TEJ28资讯网——每日最新资讯28at.com

今天主要分享安装以及简单使用,详细见下文。TEJ28资讯网——每日最新资讯28at.com

安装TEJ28资讯网——每日最新资讯28at.com

Tekton的安装非常简单,官方已经将具体的安装文件准备好了,直接安装即可。如下:TEJ28资讯网——每日最新资讯28at.com

kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yamlTEJ28资讯网——每日最新资讯28at.com

该方式安装的是最新版本的Tekton。不过如果你的机器不能访问gcr.io,是无法正常下载镜像的,你可以先通过一台可以访问国外的机器下载镜像再同步到国内镜像仓库。TEJ28资讯网——每日最新资讯28at.com

如果想安装指定版本的tekton,则选择好对应的版本,比如选择v0.32.1版本,执行如下命令:TEJ28资讯网——每日最新资讯28at.com

kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.32.1/release.yamlTEJ28资讯网——每日最新资讯28at.com

更多的版本以及对应的安装方式可以到官网上(https://github.com/tektoncd/pipeline/releases)查看。TEJ28资讯网——每日最新资讯28at.com

我自己也同步了需要的版本,保存在Gitee仓库(https://gitee.com/coolops/tekton-install),有需要的自己去查看。TEJ28资讯网——每日最新资讯28at.com

当然,在安装的时候还需要注意Kubernetes版本,如果Kubernetes的版本太低,安装高版本的Tekton是安装不了的。由于我这里是Kubernetes 1.19.16,所以我安装的是Tekton 0.29.1版本。TEJ28资讯网——每日最新资讯28at.com

运行测试TEJ28资讯网——每日最新资讯28at.com

运行安装命令后,可以看到在Kubernetes集群中新增了哪些Tekton的crd,如下:TEJ28资讯网——每日最新资讯28at.com

# kubectl get crd | grep tektonTEJ28资讯网——每日最新资讯28at.com
clustertasks.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
conditions.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
extensions.dashboard.tekton.dev 2022-02-28T06:18:40ZTEJ28资讯网——每日最新资讯28at.com
pipelineresources.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
pipelineruns.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
pipelines.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
runs.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
taskruns.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com
tasks.tekton.dev 2022-02-28T06:15:38ZTEJ28资讯网——每日最新资讯28at.com

并且可以看到安装了哪些具体的应用,如下:TEJ28资讯网——每日最新资讯28at.com

# kubectl get po -n tekton-pipelines TEJ28资讯网——每日最新资讯28at.com
NAME READY STATUS RESTARTS AGETEJ28资讯网——每日最新资讯28at.com
tekton-pipelines-controller-75c456df85-qxvq2 1/1 Running 0 6m57sTEJ28资讯网——每日最新资讯28at.com
tekton-pipelines-webhook-5bc8d6b7c4-w6pdn 1/1 Running 0 8mTEJ28资讯网——每日最新资讯28at.com

到这里我们就可以使用Tekton了,比如创建一个最简单的Task,如下:TEJ28资讯网——每日最新资讯28at.com

apiVersion: tekton.dev/v1beta1TEJ28资讯网——每日最新资讯28at.com
kind: TaskTEJ28资讯网——每日最新资讯28at.com
metadata:TEJ28资讯网——每日最新资讯28at.com
name: helloTEJ28资讯网——每日最新资讯28at.com
spec:TEJ28资讯网——每日最新资讯28at.com
steps:TEJ28资讯网——每日最新资讯28at.com
- name: helloTEJ28资讯网——每日最新资讯28at.com
image: ubuntuTEJ28资讯网——每日最新资讯28at.com
command:TEJ28资讯网——每日最新资讯28at.com
- echoTEJ28资讯网——每日最新资讯28at.com
args:TEJ28资讯网——每日最新资讯28at.com
- "Hello World!"TEJ28资讯网——每日最新资讯28at.com

从上面的命令可以看到,该Task会输出"Hello World!"。TEJ28资讯网——每日最新资讯28at.com

我们是使用kubectl命令创建,如下:TEJ28资讯网——每日最新资讯28at.com

# kubectl apply -f test-task.yamlTEJ28资讯网——每日最新资讯28at.com

然后通过如下命令查看创建结果:TEJ28资讯网——每日最新资讯28at.com

# kubectl get taskTEJ28资讯网——每日最新资讯28at.com
NAME AGETEJ28资讯网——每日最新资讯28at.com
test 20hTEJ28资讯网——每日最新资讯28at.com

但是仅仅创建Task是没有用的,Task只是声明了我们要做什么,是一个静态的对象,如果要得到其结果,需要j借助TaskRun才行。TaskRun的声明也非常的简单,如下:TEJ28资讯网——每日最新资讯28at.com

apiVersion: tekton.dev/v1beta1TEJ28资讯网——每日最新资讯28at.com
kind: TaskRunTEJ28资讯网——每日最新资讯28at.com
metadata:TEJ28资讯网——每日最新资讯28at.com
name: helloTEJ28资讯网——每日最新资讯28at.com
spec:TEJ28资讯网——每日最新资讯28at.com
taskRef:TEJ28资讯网——每日最新资讯28at.com
name: helloTEJ28资讯网——每日最新资讯28at.com

在TaskRun中关联具体的Task即可。接下来就运行TaskRun,如下:TEJ28资讯网——每日最新资讯28at.com

# kubectl apply -f taskrun.yamlTEJ28资讯网——每日最新资讯28at.com

然后可以通过如下命令查看:TEJ28资讯网——每日最新资讯28at.com

# kubectl get taskruns.tekton.dev TEJ28资讯网——每日最新资讯28at.com
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIMETEJ28资讯网——每日最新资讯28at.com
hello True Succeeded 41s 26sTEJ28资讯网——每日最新资讯28at.com

我们可以看到状态是True,表示TaskRun执行成功。除此之外,还可以看到具体的Pod,如下:TEJ28资讯网——每日最新资讯28at.com

kubectl get poTEJ28资讯网——每日最新资讯28at.com
NAME READY STATUS RESTARTS AGETEJ28资讯网——每日最新资讯28at.com
hello-pod-s86lh 0/2 Completed 1 98sTEJ28资讯网——每日最新资讯28at.com

具体的Pod日志如下:TEJ28资讯网——每日最新资讯28at.com

# kubectl logs hello-pod-s86lhTEJ28资讯网——每日最新资讯28at.com
Hello World!TEJ28资讯网——每日最新资讯28at.com

从日志来看符合为我们的预期。而且可以看到执行完的Pod的状态是Completed状态,这个状态是不是很熟悉?当我们运行一个Job对象的时候,运行完成后也是这个状态。这个状态的Pod在运行完成后并不会消失,会保留以便查看具体的信息。TEJ28资讯网——每日最新资讯28at.com

安装CliTEJ28资讯网——每日最新资讯28at.com

Tekton除了使用kubectl操作之外,本身也有客户端,可以到https://github.com/tektoncd/cli/releases进行下载,如下:TEJ28资讯网——每日最新资讯28at.com

wget https://github.com/tektoncd/cli/releases/download/v0.22.0/tkn_0.22.0_Linux_x86_64.tar.gzTEJ28资讯网——每日最新资讯28at.com
tar xf tkn_0.22.0_Linux_x86_64.tar.gzTEJ28资讯网——每日最新资讯28at.com
mv tkn /usr/local/bin/TEJ28资讯网——每日最新资讯28at.com

当然也提供其他的安装方式,可以到https://tekton.dev/docs/getting-started/进行学习。TEJ28资讯网——每日最新资讯28at.com

安装完成后,可以使用tkn --help查看具体的使用指南。TEJ28资讯网——每日最新资讯28at.com

# tkn --helpTEJ28资讯网——每日最新资讯28at.com
CLI for tekton pipelinesTEJ28资讯网——每日最新资讯28at.com
Usage:TEJ28资讯网——每日最新资讯28at.com
tkn [flags]TEJ28资讯网——每日最新资讯28at.com
tkn [command]TEJ28资讯网——每日最新资讯28at.com
Available Commands:TEJ28资讯网——每日最新资讯28at.com
bundle Manage Tekton BundlesTEJ28资讯网——每日最新资讯28at.com
clustertask Manage ClusterTasksTEJ28资讯网——每日最新资讯28at.com
clustertriggerbinding Manage ClusterTriggerBindingsTEJ28资讯网——每日最新资讯28at.com
condition Manage ConditionsTEJ28资讯网——每日最新资讯28at.com
eventlistener Manage EventListenersTEJ28资讯网——每日最新资讯28at.com
hub Interact with tekton hubTEJ28资讯网——每日最新资讯28at.com
pipeline Manage pipelinesTEJ28资讯网——每日最新资讯28at.com
pipelinerun Manage PipelineRunsTEJ28资讯网——每日最新资讯28at.com
resource Manage pipeline resourcesTEJ28资讯网——每日最新资讯28at.com
task Manage TasksTEJ28资讯网——每日最新资讯28at.com
taskrun Manage TaskRunsTEJ28资讯网——每日最新资讯28at.com
triggerbinding Manage TriggerBindingsTEJ28资讯网——每日最新资讯28at.com
triggertemplate Manage TriggerTemplatesTEJ28资讯网——每日最新资讯28at.com
Other Commands:TEJ28资讯网——每日最新资讯28at.com
completion Prints shell completion scriptsTEJ28资讯网——每日最新资讯28at.com
version Prints version informationTEJ28资讯网——每日最新资讯28at.com
Flags:TEJ28资讯网——每日最新资讯28at.com
-h, --help help for tknTEJ28资讯网——每日最新资讯28at.com
Use "tkn [command] --help" for more information about a command.TEJ28资讯网——每日最新资讯28at.com

比如说要查看所有task,如下:TEJ28资讯网——每日最新资讯28at.com

# tkn task listTEJ28资讯网——每日最新资讯28at.com
NAME DESCRIPTION AGETEJ28资讯网——每日最新资讯28at.com
build-and-push 20 hours agoTEJ28资讯网——每日最新资讯28at.com
hello 21 hours agoTEJ28资讯网——每日最新资讯28at.com
test 21 hours agoTEJ28资讯网——每日最新资讯28at.com

更多的操作指令需要自己去摸索了。TEJ28资讯网——每日最新资讯28at.com

安装DashboardTEJ28资讯网——每日最新资讯28at.com

为了对用户更友好,Tekton也有一个Dashboard(https://tekton.dev/docs/dashboard/),可以使用如下命令进行安装:TEJ28资讯网——每日最新资讯28at.com

kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yamlTEJ28资讯网——每日最新资讯28at.com

当然这依然有镜像拉取问题。操作方式和上面介绍的一样。TEJ28资讯网——每日最新资讯28at.com

安装完成后,界面如下: TEJ28资讯网——每日最新资讯28at.com

可以到这个界面上查看具体的资源,点点点的事情这里就不做多的介绍了。、TEJ28资讯网——每日最新资讯28at.com

最后TEJ28资讯网——每日最新资讯28at.com

好了,这篇文章主要是基础的安装篇,对于大佬来说是小意思,而且官网(https://tekton.dev/docs/getting-started/)上也比较全。但是我依然在这里记录一下,主要是想出Tekton的系列文章,后续会介绍Tekton的理论,Tekton pipeline编写以及如何从Jenkins切换到Tekton等文章。TEJ28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-119-2194-0.html一篇带给你Tekton系列之安装篇

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: LoveLive!出了一篇AI论文:生成模型自动写曲谱

下一篇: 云安全日报220301: 红帽Ruby脚本语言发现任意代码执行漏洞,需要尽快升级

标签:
  • 热门焦点
Top
Baidu
map