tekton task入门

什么是task

A Task is a collection of Steps that you define and arrange in a specific order of execution as part of your continuous integration flow. A Task executes as a Pod on your Kubernetes cluster. A Task is available within a specific namespace, while a ClusterTask is available across the entire cluster.

任务是步骤的集合,作为持续集成流的一部分,您可以按照特定的执行顺序定义和安排这些步骤。Task作为一个Pod在Kubernetes集群上执行。Task在特定的名称空间中可用,而ClusterTask在整个集群中可用。

A Task declaration includes the following elements:

  • Parameters
  • Resources
  • Steps
  • Workspaces
  • Results

资源详解

steps

name

task/steps/task-name.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: hello
spec:steps:- name: helloimage: ubuntucommand:- echoargs:- "Hello World!"

tkn task start -f task-name.yaml -n tekton

image

task/steps/task-name.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: hello
spec:steps:- name: helloimage: ubuntucommand:- echoargs:- "Hello World!"

tkn task start -f task-name.yaml -n tekton

script

task/steps/task-script-shell.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: script
spec:steps:- image: ubuntu script: |#!/usr/bin/env bashecho "Hello from Bash!"

task/steps/task-script-python.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: script
spec:steps:- image: python  # contains pythonscript: |#!/usr/bin/env python3print("Hello from Python!")

task/steps/task-script-node.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: script
spec:steps:- image: node  # contains nodescript: |#!/usr/bin/env nodeconsole.log("Hello from Node!")

resources

task/steps/task-resources.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: resources
spec:steps:- name: step-with-limtsimage: ubuntucommand:- echoargs:- "Hello World!"resources:requests:memory: 100Micpu: 10mlimits:memory: 100Micpu: 10m

timeout

task/steps/task-timeout.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: timeout
spec:  steps:- name: sleep-then-timeoutimage: ubuntuscript: | #!/usr/bin/env bashecho "I am supposed to sleep for 60 seconds!"sleep 60timeout: 5s

args

参数

task/steps/task-name.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: hello
spec:steps:- name: helloimage: ubuntucommand:- echoargs:- "Hello World!"

command

命令

task/steps/task-name.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: hello
spec:steps:- name: helloimage: ubuntucommand:- echoargs:- "Hello World!"

env

plain

task/steps/task-env.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: env
spec: steps:- image: ubuntucommand: [echo]args: ["FOO is $(FOO)"]env:- name: "FOO"value: "baz"

secret-env

secret.yaml

apiVersion: v1
kind: Secret
metadata:name: mysecret
type: Opaque
data:username: YWRtaW4=

task/steps/task-env-secret.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: env
spec:  steps:- image: ubuntucommand: [echo]args: ["FOO is $(FOO)"]env:- name: "FOO"valueFrom:secretKeyRef:name: mysecretkey: username

volumeMounts

挂载

task/steps/task-volumeMounts.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: volumemounts
spec:   steps:- image: docker:20.10.5name: clientscript: |#!/usr/bin/env shcat > Dockerfile << EOFFROM ubuntuRUN apt-get updateENTRYPOINT ["echo", "hello"]EOFdocker build -t hello . && docker run hellodocker imagesvolumeMounts:- mountPath: /var/run/docker.sockname: docker-socketvolumes:- name: docker-sockethostPath:path: /var/run/docker.socktype: Socket

workingDir

工作目录

task/steps/task-workingDir.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: workingdir
spec:  steps:- image: ubuntucommand: [pwd]workingDir: /workspace/src/

securityContext

上下文

task/steps/task-securityContext.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: securitycontext
spec:  steps:- image: ubuntucommand: [id]securityContext:runAsUser: 2000

imagePullPolicy

拉取镜像方式

task/steps/task-imagePullPolicy .yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: imagepullpolicy
spec:  steps:- image: ubuntucommand: [echo]args:- helloimagePullPolicy: IfNotPresent

workspaces

description

描述

task/task-description.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:name: description
spec: description:  this is a test tasksteps:- image: ubuntucommand: [echo]args:- helloimagePullPolicy: IfNotPresent

Tekton task入门上相关推荐

  1. Python语言快速入门上

    目录 1.前言 2.变量和常量 1)Python对象模型 2)Python变量 二.运算符和表达式 [运算符和表达式] [位运算符] [逻辑运算符] [成员运算符] [身份运算符] [常用内置函数] ...

  2. tekton task资源

    欢迎关注我的公众号: 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下: istio多集群探秘,部署了50次多集群后我得出的结论 istio多集群链路追踪,附实操视频 istio防故障利器,你 ...

  3. Markdown 快速入门上(基础语法篇)

    Markdown 快速入门上(基础语法篇) 1. 简介 Markdown 是一门轻量级的标记性语言,可以用来修饰纯文本使得文档具有一定的优美格式. 像Microsoft Word 文本编辑器, 你需要 ...

  4. Python入门(上)

    Python 入门(上) 1.简介 (官网) 2.变量.运算符.数据类型 注释: #表示注释,作用于整行: 2)''' ''' 或者 """ ""&q ...

  5. 【一起入门NLP】中科院自然语言处理作业五:BiLSTM+Attention实现SemEval-2010 Task 8上的关系抽取(Pytorch)【代码+报告】

    这里是国科大自然语言处理的第五次作业(终于是最后一次作业了,冲!),本篇博客是记录对论文:Attention-Based Bidirectional Long Short-Term Memory Ne ...

  6. OpenShift 4 Tekton - Katacoda的Tekton Pipeline入门示例

    <OpenShift 4.x HOL教程汇总> 文章目录 安装Tekton客户端 通过命令安装OpenShift Pipelines Operator 创建并运行Tekton Pipeli ...

  7. 华为AI计算框架昇思MindSpore零基础快速入门 (上)

    一.基础介绍 门槛最低的深度学习引导 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/463019160MindSpore入门实践 - 知乎 (zhihu.c ...

  8. Spring Cloud入门上

    1 微服务概述 2.项目搭建 2.1 建立父项目 2.2 服务提供者-支付模块 2.3 服务消费者-订单模块 2.4 抽取公用模块-common 3.注册中心 3.1 eureka注册中心 3.1.1 ...

  9. 数据库MySQL入门-上

    文章目录 第1章 数据库 1.1 数据库概述 1.2 数据库表 1.3 表数据 第2章 MySql数据库 2.1 MySql安装 2.2 登录MySQL数据库 2.3 使用MySQL图形化开发工具 2 ...

最新文章

  1. 在分页状态下删除纪录的问题
  2. RichText设置高亮 (未完)
  3. java Proxy.newProxyInstance 动态代理 简介
  4. 三点到六点是几个小时_环卫工在10吨垃圾里找了6小时,终于找到这张价值19万元的餐巾纸...
  5. oracle 查阻塞日志,通过Oracle补充日志,找到锁阻塞源头的SQL
  6. JAVA进制及进制之间的转换
  7. 硬件:台式机老式键盘知识科普
  8. fastapi vue socket 从其他文件调用 socket 方法
  9. AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...
  10. android开发UI界面布局教学,android UI学习 -- 设置界面的布局(包括style的使用,selector的使用,Checkbox自定义样式,菜单项的样式)...
  11. Git学习总结(17)——大型分布式团队的代码版本管理
  12. 为什么都敏捷开发了项目还会延期?!| 技术头条
  13. Knowledge Distillation(知识蒸馏)Review--20篇paper回顾
  14. linux调度器(六)——应用层理解CFS及组调度
  15. 烧写linux系统到盒子,在Linux命令行中将礼品包装在盒子中
  16. 【腾讯开源项目】一个开放式的开发平台,蓝鲸PaaS平台源码对外开放
  17. 进程和线程的主仆问题
  18. java入门,eclipse,spring boot… 新建springboot starter, 和 启动mnv srping-boot:run
  19. 颜色的整数值转换成RGB值
  20. svn - 冲突及解决方案

热门文章

  1. usb转串口,232电平,TTL电平
  2. 深入理解Java注解(二)——JavaPoet使用
  3. FPGA入门:QuartusⅡ实现半加器,全加器,四位全加器
  4. C++ UML类图详解
  5. javaScript中的undefined
  6. 棋盘放芝麻:有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量(代码)
  7. 使用SQLyog导出导入MySql中的数据
  8. 【O2O领域】Axure外卖配送代理商调度系统原型,生鲜配送站团队管理后台原型
  9. 聚观早报 | 苹果首款头显明年1月亮相;米哈游投资信托「打水漂」
  10. 【佛山】地铁2号线“海口站”改“张槎站”设7换乘站