首页 > 其他分享 >Tekton TaskRun 基础

Tekton TaskRun 基础

时间:2023-12-12 15:32:04浏览次数:25  
标签:Task workspaces name tekton TaskRun 基础 dev Tekton

TaskRun 概述

TaskRun允许您在集群上实例化和执行Task。任务指定执行容器映像的一个或多个Steps,每个容器映像执行特定的构建工作。TaskRun按照指定的顺序执行任务中的Steps,直到所有Steps执行成功或失败。

TaskRun 配置清单

apiVersion: tekton.dev/v1   # 指定 API 版本。
kind: TaskRun                  # 将此资源对象标识为一个Task对象。
metadata:                   # 指定唯一标识 TaskRun资源对象的元数据。例如,一个name.
  name: hello
  namespace: tekton
  generateName: show-run-   # 自动生成name后缀
spec:                       # 指定该资源对象Task的配置信息
  serviceAccountName:       # 为运行各TaskRun的Pod指定要使用ServiceAccount
  serviceAccountNames:     # 分别为每个TaskRun的Pod单独指定要使用的ServiceAccount,map型数据
  workspaces:
  params:
  podTemplate:              # pod 模板信息
    schedulerName: volcano
    securityContext:
      runAsNonRoot: true
      runAsUser: 1001
  taskRef:                  # 通过Task的名称引用
    name: read-task         # Task名称
  taskSpec:                 # 直接定义要运行自有的Task
    workspaces:
      - name: signals         # 必选字段,该Workspace的唯一标识符
        description:          # 描述信息,通常标明其使用目的
        mountPath:            # 在各Step中的挂载路径,默认为“/workspace/<name>”,其中<name>是当前Workspace的名称
        readOnly:             # 是否为只读,默认为false
        optional:             # 是否为可选,默认为false
    steps:                   # 定义Task steps
      - name:
        ...

TaskRun 示例

内联 Task

apiVersion: tekton.dev/v1 # or tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: build-push-task-run-2
spec:
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: my-pvc
  taskSpec:
    workspaces:
    - name: source
    steps:
      - name: build-and-push
        image: gcr.io/kaniko-project/executor:v0.17.1
        workingDir: $(workspaces.source.path)
        # specifying DOCKER_CONFIG is required to allow kaniko to detect docker credential
        env:
          - name: "DOCKER_CONFIG"
            value: "/tekton/home/.docker/"
        command:
          - /kaniko/executor
        args:
          - --destination=gcr.io/my-project/gohelloworld

外联 Task

apiVersion: tekton.dev/v1 # or tekton.dev/v1beta1
kind: Task
metadata:
  name: read-task
spec:
  workspaces:
  - name: input
  steps:
    - name: readme
      image: ubuntu
      script: cat $(workspaces.input.path)/README.md
---
apiVersion: tekton.dev/v1 # or tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: test-task-with-serviceaccount-git-ssh
spec:
  serviceAccountName: test-task-robot-git-ssh
  workspaces:
  - name: source
    persistentVolumeClaim:
      claimName: repo-pvc
  - name: ssh-creds
    secret:
      secretName: test-git-ssh
  params:
    - name: url
      value: https://github.com/tektoncd/pipeline.git
  taskRef:
    name: read-task

参考文档

https://tekton.dev/docs/pipelines/taskruns/



标签:Task,workspaces,name,tekton,TaskRun,基础,dev,Tekton
From: https://blog.51cto.com/wangguishe/8788275

相关文章

  • Tekton Tasks 基础
    Tasks概述Task是一系列Step的组合,每个Step主要负责运行特定的构建或交付工具从而完成相关的一次特定事项;Task以Kubernetes集群上Pod运行。Task是名称空间级别的资源。Tasks组成Parameters:是使得Task及Pipeline资源定义出的“模板”更加具有通用性的关键要素之一Steps:具体执行的......
  • Tekton Trigger Interceptors 基础
    Interceptors概述Interceptor是针对特定平台的的事件处理器,在TriggerBinding之前运行。它允许您执行有效负载过滤、验证(使用秘密)、转换、定义和测试触发条件,以及实现其他有用的处理。一旦事件数据通过Interceptor,它就会在将有效负载数据传递到TriggerBinding之前转到Trigger。......
  • 【python基础之装饰器】---装饰器
    title:【python基础之装饰器】---装饰器date:2023-12-1118:54:06updated:2023-12-1214:30:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】什么是装饰器装饰代指为被装饰对象添加新的功能,器代指器具/工具,装饰器与被装饰的对象均可......
  • 【python基础之函数对象和闭包】 --- 函数对象与闭包
    title:【python基础之函数对象和闭包】---函数对象与闭包date:2023-12-1119:20:00updated:2023-12-1119:20:00description:cover:https://home.cnblogs.com/u/dream-ze/【一】函数对象函数对象指的是函数可以被当做数据来处理具体可以分为四......
  • 系统架构设计系列之基础:初探软件架构设计
    前言欢迎来到软件架构设计的世界,这是一次面向有志成为架构师的研发工程师的学习和分享交流的机会。本系列内容将结合理论和实践经验,探讨软件架构的基本知识、设计原则和最佳实践,旨在和大家一起更好地理解软件架构设计的重要性和成为架构师的路径。一、架构的基础我们都知道编......
  • 图的基础概念和深搜广搜序
    有关图的定义图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。图论起源于著名的柯尼斯堡七桥问题(下图所示),该问题于1736年被欧拉解决,因此普遍认为欧拉是图......
  • 面试基础复盘
    px、rpx、em、rem、vw、vhpx:px就是pixel的缩写,意味像素。px就是一张图片最小的一个点,一张位图就是无数个这样的点构成的,是web开发中最常用的像素单位。rpx:由微信小程序官方推出的新单位,适用于移动端的uni-app或者微信小程序的开发。可以根据屏幕宽度进行自适应,1rpx实际上等......
  • shell脚本基础学习
    shell脚本基础学习一.shell的解释:shell具备编程的能力shell是一种解释型语言(不需要提前编译,一边执行一边解释,每种解释性语言都有解释器)shell语言支持大部分编程语言都具备的功能(if判断,for循环,变量,数组,函数,加减乘除,逻辑运算)二.shell脚本的规范模板tips:shell脚本的本......
  • cesium.js入门基础教程
    运行环境搭建下载cesium.js从https://cesium.com/downloads/下载cesium.js:在vsCode中建立index.html和index.js,并在index.html中引入index.js:index.html:<!DOCTYPEhtml><htmllang="en"><head><!--Usecorrectcharacterset.-->&......
  • C++基础 -4- C/C++混合编程
    ———————C/C++混合编程———————......