文章目录

  • ​​一、官方安装​​
  • ​​二、国内资源安装​​
  • ​​`安装tekton`​​
  • ​​`安装dashboard`​​
  • ​​`安装CLI`​​
  • ​​三、demo​​
  • ​​`编写task.yaml`​​
  • ​​`编写taskRun.yaml`​​
  • ​​`使用tkn命令查看`​​
  • ​​参考文章​​

一、官方安装

地址:https://tekton.dev/docs/installation/pipelines/#installing-tekton-pipelines-on-kubernetes
注意:官方安装需要能够去国外网站拉取镜像,如果不能,建议使用国内资源安装

二、国内资源安装

我的k8s版本是V1.17.17,推荐安装的tekton版本为v0.19.0

安装tekton

mkdir /opt/tekton/ && cd /opt/tekton/
git clone https://gitee.com/CloudLemon/tekton-install.git
cd tekton-install/v0.19.0
kubectl apply -f install.yaml
kubectl get pod -n tekton-pipelines

会启动controller和webhook两个Pod

k8s安装tekton,编写task_k8s安装tekton

安装dashboard

cd /opt/tekton/tekton-install/dashboard
vim 0.17.0.yaml #镜像地址有问题,删除红框处内容

k8s安装tekton,编写task_tekton_02

kubectl apply -f 0.17.0.yaml
kubectl get pod -n tekton-pipelines

会增加一个dashboard的Pod

k8s安装tekton,编写task_teckon编写task_03

kubectl get svc -n tekton-pipelines

查看dashboard的nodePort端口

k8s安装tekton,编写task_teckon编写task_04


浏览器访问:http://192.168.1.2:29813/

k8s安装tekton,编写task_tekton_05

安装CLI

Tekton除了使用kubectl操作之外,本身也有客户端,可以到https://github.com/tektoncd/cli/releases进行下载,如下

cd /opt/tekton/
wget https://github.com/tektoncd/cli/releases/download/v0.22.0/tkn_0.22.0_Linux_x86_64.tar.gz
tar xvf tkn_0.22.0_Linux_x86_64.tar.gz
mv tkn /usr/local/bin/
tkn task list -n tekton-pipelines #查看task列表

如果报一下错误,需要创建~/.kube/config文件

k8s安装tekton,编写task_kubernetes_06


由于我用的是rancher,因此直接从页面上拷贝kubeconfig文件的内容,并创建~/.kube/config文件

k8s安装tekton,编写task_tekton_07

三、demo

编写task.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: hello
namespace: tekton-pipelines
spec:
steps:
- name: echo
image: alpine
script: |
#!/bin/sh
echo "Hello World"

查看task

kubectl apply -f task.yaml
kubectl get task -n tekton-pipelines

k8s安装tekton,编写task_k8s安装tekton_08

编写taskRun.yaml

仅仅创建Task是没有用的,Task只是声明了我们要做什么,是一个静态的对象,如果要得到其结果,需要借助TaskRun才行

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: hello-task-run
namespace: tekton-pipelines
spec:
taskRef:
name: hello #该名字需与Task的名字保持一致
kubectl apply -f taskRun.yaml
kubectl get taskrun -n tekton-pipelines

执行成功

k8s安装tekton,编写task_teckon编写task_09


还可以看到具体的Pod

kubectl get pod -n tekton-pipelines

执行完的Pod的状态是Completed状态,这个状态的Pod在运行完成后并不会消失,会保留以便查看具体的信息

k8s安装tekton,编写task_tkn命令_10


查看Pod的日志

kubectl logs hello-task-run-pod-24xlb -n tekton-pipelines

日志内容符合预期

k8s安装tekton,编写task_tekton_11


去dashboard查看

k8s安装tekton,编写task_teckon编写task_12


k8s安装tekton,编写task_tkn命令_13


k8s安装tekton,编写task_kubernetes_14

使用tkn命令查看

tkn task list -n tekton-pipelines   #查看task列表
tkn taskrun list -n tekton-pipelines #查看taskrun列表

参考文章

​​Tekton系列之安装篇[一] ​​