一、官方安装

地址: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
在这里插入图片描述

安装dashboard

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

在这里插入图片描述

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

会增加一个dashboard的Pod
在这里插入图片描述

kubectl get svc -n tekton-pipelines

查看dashboard的nodePort端口
在这里插入图片描述
浏览器访问:http://192.168.1.2:29813/
在这里插入图片描述

安装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文件
在这里插入图片描述
由于我用的是rancher,因此直接从页面上拷贝kubeconfig文件的内容,并创建~/.kube/config文件
在这里插入图片描述

三、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

在这里插入图片描述

编写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

执行成功
在这里插入图片描述
还可以看到具体的Pod

kubectl get pod -n tekton-pipelines

执行完的Pod的状态是Completed状态,这个状态的Pod在运行完成后并不会消失,会保留以便查看具体的信息
在这里插入图片描述
查看Pod的日志

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

日志内容符合预期
在这里插入图片描述
去dashboard查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用tkn命令查看

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

参考文章

Tekton系列之安装篇[一]

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐