Tekton task入门上
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入门上相关推荐
- Python语言快速入门上
目录 1.前言 2.变量和常量 1)Python对象模型 2)Python变量 二.运算符和表达式 [运算符和表达式] [位运算符] [逻辑运算符] [成员运算符] [身份运算符] [常用内置函数] ...
- tekton task资源
欢迎关注我的公众号: 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下: istio多集群探秘,部署了50次多集群后我得出的结论 istio多集群链路追踪,附实操视频 istio防故障利器,你 ...
- Markdown 快速入门上(基础语法篇)
Markdown 快速入门上(基础语法篇) 1. 简介 Markdown 是一门轻量级的标记性语言,可以用来修饰纯文本使得文档具有一定的优美格式. 像Microsoft Word 文本编辑器, 你需要 ...
- Python入门(上)
Python 入门(上) 1.简介 (官网) 2.变量.运算符.数据类型 注释: #表示注释,作用于整行: 2)''' ''' 或者 """ ""&q ...
- 【一起入门NLP】中科院自然语言处理作业五:BiLSTM+Attention实现SemEval-2010 Task 8上的关系抽取(Pytorch)【代码+报告】
这里是国科大自然语言处理的第五次作业(终于是最后一次作业了,冲!),本篇博客是记录对论文:Attention-Based Bidirectional Long Short-Term Memory Ne ...
- OpenShift 4 Tekton - Katacoda的Tekton Pipeline入门示例
<OpenShift 4.x HOL教程汇总> 文章目录 安装Tekton客户端 通过命令安装OpenShift Pipelines Operator 创建并运行Tekton Pipeli ...
- 华为AI计算框架昇思MindSpore零基础快速入门 (上)
一.基础介绍 门槛最低的深度学习引导 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/463019160MindSpore入门实践 - 知乎 (zhihu.c ...
- Spring Cloud入门上
1 微服务概述 2.项目搭建 2.1 建立父项目 2.2 服务提供者-支付模块 2.3 服务消费者-订单模块 2.4 抽取公用模块-common 3.注册中心 3.1 eureka注册中心 3.1.1 ...
- 数据库MySQL入门-上
文章目录 第1章 数据库 1.1 数据库概述 1.2 数据库表 1.3 表数据 第2章 MySql数据库 2.1 MySql安装 2.2 登录MySQL数据库 2.3 使用MySQL图形化开发工具 2 ...
最新文章
- 在分页状态下删除纪录的问题
- RichText设置高亮 (未完)
- java Proxy.newProxyInstance 动态代理 简介
- 三点到六点是几个小时_环卫工在10吨垃圾里找了6小时,终于找到这张价值19万元的餐巾纸...
- oracle 查阻塞日志,通过Oracle补充日志,找到锁阻塞源头的SQL
- JAVA进制及进制之间的转换
- 硬件:台式机老式键盘知识科普
- fastapi vue socket 从其他文件调用 socket 方法
- AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...
- android开发UI界面布局教学,android UI学习 -- 设置界面的布局(包括style的使用,selector的使用,Checkbox自定义样式,菜单项的样式)...
- Git学习总结(17)——大型分布式团队的代码版本管理
- 为什么都敏捷开发了项目还会延期?!| 技术头条
- Knowledge Distillation(知识蒸馏)Review--20篇paper回顾
- linux调度器(六)——应用层理解CFS及组调度
- 烧写linux系统到盒子,在Linux命令行中将礼品包装在盒子中
- 【腾讯开源项目】一个开放式的开发平台,蓝鲸PaaS平台源码对外开放
- 进程和线程的主仆问题
- java入门,eclipse,spring boot… 新建springboot starter, 和 启动mnv srping-boot:run
- 颜色的整数值转换成RGB值
- svn - 冲突及解决方案
热门文章
- usb转串口,232电平,TTL电平
- 深入理解Java注解(二)——JavaPoet使用
- FPGA入门:QuartusⅡ实现半加器,全加器,四位全加器
- C++ UML类图详解
- javaScript中的undefined
- 棋盘放芝麻:有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量(代码)
- 使用SQLyog导出导入MySql中的数据
- 【O2O领域】Axure外卖配送代理商调度系统原型,生鲜配送站团队管理后台原型
- 聚观早报 | 苹果首款头显明年1月亮相;米哈游投资信托「打水漂」
- 【佛山】地铁2号线“海口站”改“张槎站”设7换乘站