大家好,我是喬克。從今天開始會給大家?guī)鞹ekton的系列文章,主要是自己學習總結,同時也希望對想了解Tekton的朋友有點用處。
今天主要分享安裝以及簡單使用,詳細見下文。
安裝
Tekton的安裝非常簡單,官方已經(jīng)將具體的安裝文件準備好了,直接安裝即可。如下:
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
該方式安裝的是最新版本的Tekton。不過如果你的機器不能訪問gcr.io,是無法正常下載鏡像的,你可以先通過一臺可以訪問國外的機器下載鏡像再同步到國內鏡像倉庫。
如果想安裝指定版本的tekton,則選擇好對應的版本,比如選擇v0.32.1版本,執(zhí)行如下命令:
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.32.1/release.yaml
更多的版本以及對應的安裝方式可以到官網(wǎng)上(https://github.com/tektoncd/pipeline/releases)查看。
我自己也同步了需要的版本,保存在Gitee倉庫(https://gitee.com/coolops/tekton-install),有需要的自己去查看。
當然,在安裝的時候還需要注意Kubernetes版本,如果Kubernetes的版本太低,安裝高版本的Tekton是安裝不了的。由于我這里是Kubernetes 1.19.16,所以我安裝的是Tekton 0.29.1版本。
運行測試
運行安裝命令后,可以看到在Kubernetes集群中新增了哪些Tekton的crd,如下:
# kubectl get crd | grep tekton
clustertasks.tekton.dev 2022-02-28T06:15:38Z
conditions.tekton.dev 2022-02-28T06:15:38Z
extensions.dashboard.tekton.dev 2022-02-28T06:18:40Z
pipelineresources.tekton.dev 2022-02-28T06:15:38Z
pipelineruns.tekton.dev 2022-02-28T06:15:38Z
pipelines.tekton.dev 2022-02-28T06:15:38Z
runs.tekton.dev 2022-02-28T06:15:38Z
taskruns.tekton.dev 2022-02-28T06:15:38Z
tasks.tekton.dev 2022-02-28T06:15:38Z
并且可以看到安裝了哪些具體的應用,如下:
# kubectl get po -n tekton-pipelines
NAME READY STATUS RESTARTS AGE
tekton-pipelines-controller-75c456df85-qxvq2 1/1 Running 0 6m57s
tekton-pipelines-webhook-5bc8d6b7c4-w6pdn 1/1 Running 0 8m
到這里我們就可以使用Tekton了,比如創(chuàng)建一個最簡單的Task,如下:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: hello
spec:
steps:
- name: hello
image: ubuntu
command:
- echo
args:
- "Hello World!"
從上面的命令可以看到,該Task會輸出"Hello World!"。
我們是使用kubectl命令創(chuàng)建,如下:
# kubectl apply -f test-task.yaml
然后通過如下命令查看創(chuàng)建結果:
# kubectl get task
NAME AGE
test 20h
但是僅僅創(chuàng)建Task是沒有用的,Task只是聲明了我們要做什么,是一個靜態(tài)的對象,如果要得到其結果,需要j借助TaskRun才行。TaskRun的聲明也非常的簡單,如下:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: hello
spec:
taskRef:
name: hello
在TaskRun中關聯(lián)具體的Task即可。接下來就運行TaskRun,如下:
# kubectl apply -f taskrun.yaml
然后可以通過如下命令查看:
# kubectl get taskruns.tekton.dev
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME
hello True Succeeded 41s 26s
我們可以看到狀態(tài)是True,表示TaskRun執(zhí)行成功。除此之外,還可以看到具體的Pod,如下:
kubectl get po
NAME READY STATUS RESTARTS AGE
hello-pod-s86lh 0/2 Completed 1 98s
具體的Pod日志如下:
# kubectl logs hello-pod-s86lh
Hello World!
從日志來看符合為我們的預期。而且可以看到執(zhí)行完的Pod的狀態(tài)是Completed狀態(tài),這個狀態(tài)是不是很熟悉?當我們運行一個Job對象的時候,運行完成后也是這個狀態(tài)。這個狀態(tài)的Pod在運行完成后并不會消失,會保留以便查看具體的信息。
安裝Cli
Tekton除了使用kubectl操作之外,本身也有客戶端,可以到https://github.com/tektoncd/cli/releases進行下載,如下:
wget https://github.com/tektoncd/cli/releases/download/v0.22.0/tkn_0.22.0_Linux_x86_64.tar.gz
tar xf tkn_0.22.0_Linux_x86_64.tar.gz
mv tkn /usr/local/bin/
當然也提供其他的安裝方式,可以到https://tekton.dev/docs/getting-started/進行學習。
安裝完成后,可以使用tkn --help查看具體的使用指南。
# tkn --help
CLI for tekton pipelines
Usage:
tkn [flags]
tkn [command]
Available Commands:
bundle Manage Tekton Bundles
clustertask Manage ClusterTasks
clustertriggerbinding Manage ClusterTriggerBindings
condition Manage Conditions
eventlistener Manage EventListeners
hub Interact with tekton hub
pipeline Manage pipelines
pipelinerun Manage PipelineRuns
resource Manage pipeline resources
task Manage Tasks
taskrun Manage TaskRuns
triggerbinding Manage TriggerBindings
triggertemplate Manage TriggerTemplates
Other Commands:
completion Prints shell completion scripts
version Prints version information
Flags:
-h, --help help for tkn
Use "tkn [command] --help" for more information about a command.
比如說要查看所有task,如下:
# tkn task list
NAME DESCRIPTION AGE
build-and-push 20 hours ago
hello 21 hours ago
test 21 hours ago
更多的操作指令需要自己去摸索了。
安裝Dashboard
為了對用戶更友好,Tekton也有一個Dashboard(https://tekton.dev/docs/dashboard/),可以使用如下命令進行安裝:
kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yaml
當然這依然有鏡像拉取問題。操作方式和上面介紹的一樣。
安裝完成后,界面如下:
可以到這個界面上查看具體的資源,點點點的事情這里就不做多的介紹了。、
最后
好了,這篇文章主要是基礎的安裝篇,對于大佬來說是小意思,而且官網(wǎng)(https://tekton.dev/docs/getting-started/)上也比較全。但是我依然在這里記錄一下,主要是想出Tekton的系列文章,后續(xù)會介紹Tekton的理論,Tekton pipeline編寫以及如何從Jenkins切換到Tekton等文章。
本文鏈接:http://www.www897cc.com/showinfo-119-2194-0.html一篇帶給你Tekton系列之安裝篇
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: LoveLive!出了一篇AI論文:生成模型自動寫曲譜
下一篇: 云安全日報220301: 紅帽Ruby腳本語言發(fā)現(xiàn)任意代碼執(zhí)行漏洞,需要盡快升級