4 Tekton Pipelines 快速入门

1 Tekton Pipelines 快速入门

官方文档:https://tekton.dev/docs/

1.1 安装 Tekton 相关工具

管饭安装链接:https://tekton.dev/docs/pipelines/install/

环境要求:

  • Tekton Pipelines 0.11.0 及以上的版本,需要运行于 Kubernetes v1.15 以上的集群中;

  • 集群上要启用了 RBAC 鉴权插件;

  • 拥有管理员权限(绑定到了clusterrole/cluster-admin)的用户;

部署 Tekton Pipelines:

  • 根据 Tekton Pipelines 项目提供的配置文件完成部署
    • kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
  • Tekton Pipelines会部署两个controller和webhook两个应用
    • kubectl get deployments -n tekton-pipelines
  • 客户端工具tkn
    • 下载页面:https://github.com/tektoncd/cli/releases
    • curl -LO https://github.com/tektoncd/cli/releases/download/v0.22.0/tektoncd-cli-0.22.0_Linux-64bit.deb
    • sudo dpkg -i ./tektoncd-cli-0.22.0_Linux-64bit.deb

1.1.1 部署 Tekton Pipelines

操作如下:

1 安装

root@master:~# kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml

2 部署完毕检查

root@master:~# kubectl get pod -n tekton-pipelines 
NAME                                           READY   STATUS    RESTARTS   AGE
tekton-pipelines-controller-799fd96f87-5jmk9   1/1     Running   0          45s
tekton-pipelines-webhook-6f44cfb768-hhl7j      1/1     Running   0          45s

# 它会自动创建于给 tekton-pipeline 的 NS
# 在这个 NS 运行了 controller、webhook 两个 Pod

3 查看 CRD 的 API 群组

root@master:~# kubectl api-resources --api-group=tekton.dev
NAME                SHORTNAMES   APIVERSION            NAMESPACED   KIND
clustertasks                     tekton.dev/v1beta1    false        ClusterTask
conditions                       tekton.dev/v1alpha1   true         Condition
pipelineresources                tekton.dev/v1alpha1   true         PipelineResource
pipelineruns        pr,prs       tekton.dev/v1beta1    true         PipelineRun
pipelines                        tekton.dev/v1beta1    true         Pipeline
runs                             tekton.dev/v1alpha1   true         Run
taskruns            tr,trs       tekton.dev/v1beta1    true         TaskRun
tasks                            tekton.dev/v1beta1    true         Task

其中最重要的 CRD 分别是:Pipeline、PipelineRun、Task、TaskRun

各CRD的简要说明

  • Task:一系列 Step 的组合,每个Step 主要负责运行特定的构建或交付工具从而完成相关的一次特定事项;

  • TaskRun:Task 的实例化,支持附带 inputs、outputs 和 parameters;可独立运行,亦可由 Pipeline 发起并运行;

  • Pipeline:负责实现某个特定构建或交付目标的一系列任务的组合,可由事件或 PipelineRun 触发运行;

  • PipelineRun:Pipeline 的实例化,运行附带 inputs、outputs 和 parameters;

  • PipelineResource (Deprecated) :定义可由 Step 使用的 input 或 output 资源的具体位置;

这里为了更好的使用 tekton 我们还需要部署 dashboard、tkn(tekton 客户端交互式命令行)

1.1.2 部署 dashboard

安装地址:https://tekton.dev/docs/dashboard/

1 通过 yaml 文件部署

root@master:~# kubectl apply --filename https://github.com/tektoncd/dashboard/releases/latest/download/tekton-dashboard-release.yaml

2 部署成功

root@master:~# kubectl get pod -n tekton-pipelines 
NAME                                           READY   STATUS    RESTARTS   AGE
tekton-dashboard-56fcdc6756-brv8j              1/1     Running   0          52s # dashboard 部署成功
tekton-pipelines-controller-799fd96f87-5jmk9   1/1     Running   0          10m
tekton-pipelines-webhook-6f44cfb768-hhl7j      1/1     Running   0          10m

3 修改对应 svc 实现对外暴露

# 查看对应 svc 可以看到当前 dashboard 为 CIP 我们需要将其改为 EXTERNAL-IP
root@master:~# kubectl get svc -n tekton-pipelines 
NAME                          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                              AGE
tekton-dashboard              ClusterIP   10.102.28.152   <none>        9097/TCP                             2m17s
tekton-pipelines-controller   ClusterIP   10.99.137.168   <none>        9090/TCP,8008/TCP,8080/TCP           12m
tekton-pipelines-webhook      ClusterIP   10.102.3.237    <none>        9090/TCP,8008/TCP,443/TCP,8080/TCP   12m

# 修改为 EXTERNAL-IP ,让他实现对外访问
root@master:~# kubectl edit svc -n tekton-pipelines tekton-dashboard 
spec:
  externalIPs: 
  - 10.0.0.131      # 在 spec 字段下添加该字段


# 再次查看当前的 external-ip 已经实现绑定
service/tekton-dashboard edited
root@master:~# kubectl get svc -n tekton-pipelines 
NAME                          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                              AGE
tekton-dashboard              ClusterIP   10.102.28.152   10.0.0.131    9097/TCP                             5m45s

4 所以为了方便我将在这里定义虚拟主机头

1.1.2.1 浏览器访问

http://tekton.zgy.com:9097/#/about

1.1.3 部署交互式命令

当我们部署完了 dashboard 和 tekton pipelines 之后我们还需要部署对应的 tekton 命令行

部署链接:https://github.com/tektoncd/cli/releases

这里我部署 0.23 版本

1 下载安装包

# 由于我这里是 x86 架构的 os,所以下载对应的 x86,如果您是其他版本则需要按需下载
root@master:~# wget https://github.com/tektoncd/cli/releases/download/v0.23.0/tkn_0.23.0_Linux_x86_64.tar.gz

2 解压

root@master:~/tekton# tar xf tkn_0.23.0_Linux_x86_64.tar.gz 

# 将二进制文件移动至 bin 
root@master:~/tekton# mv tkn /usr/local/bin/

# 测试 tkn 可使用,然后会将我们刚才部署的这几个组件的版本输出
root@master:~/tekton# tkn version
Client version: 0.23.0
Pipeline version: v0.34.1
Dashboard version: v0.25.0

以上就是 tekon 的部署步骤

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇