Tekton Pipelines Master Course

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46
At a glance
Powered by AI
The key takeaways are that Tekton allows defining reusable tasks and composing them into pipelines. It has task catalogs with common tasks like building images, source-to-image tasks, and more. The Tekton CLI can be used to list, describe, and interact with pipelines, tasks, and runs as well as view logs.

A task catalog is a collection of reusable tasks. Examples given are image build tasks for languages/frameworks like Java, Python, Go, etc. and source-to-image tasks to build directly from source code. The catalogs available are tektoncd/catalog and openshift/pipelines-catalog.

The Tekton CLI (tkn) can be used to list and describe pipelines, resources, tasks, task runs, and pipeline runs. It also allows viewing logs of task and pipeline runs.

Tekton Pipelines Master Course

Homework dn.dev/tekton-tutorial

dn.dev/tektonmaster 1
Upcoming DevNation Schedule
Master Asia (English) France France Brazil USA (English) USA (English) Mexico (Spanish)
Course UTC: 7:00 (French) (French) (Portuguese) UTC 14:00 UTC 16:00 UTC 18:00
Series Local 12:30 UTC 9:00 UTC 11:00 UTC 14:00 Local 10:00 Local 12:00 Local 13:00
Local 13:00 Local 11:00 Eastern Eastern Central Standard

July 29 2020 Tekton Tekton Tekton

August 10 2020 Kubernetes


Beginner

August 12 2020 Kubernetes


Elementary

August 17 2020 Istio

August 19 2020 Knative

dn.dev/master
@burrsutter

[email protected]
● Featured speaker at technology events around the globe
● Java Champion since 2005
● Former President of the Atlanta Java User Group
● Founded the DevNexus conference
● Always looking for technologies that enable developers to
deliver better software ever faster

dn.dev/tektonmaster
Survey Link
https://www.surveymonkey.com/r/VR2S73Z

dn.dev/tektonmaster
dn.dev/tektonmaster
@kamesh_sampath
● Email: [email protected]
● OpenSource Contributor for more than a decade
○ Minikube
○ Eclipse Che
○ Camel-K

● LinkedIn: Kamesh Sampath - Director of Developer


Experience - Red Hat
● Twitter: Kamesh Sampath (@kamesh_sampath)
● GitHub: kameshsampath (Kamesh Sampath) · GitHub

dn.dev/tektonmaster
Alex Soto (lordofthejars.com)

● @alexsotob
[email protected]
● Currently Red Hat’s Director of Developer Experience
● Featured speaker at technology events around the globe
● A Java Champion since 2017
● Writer, University Professor, Radio collaborator
● A big fan of testing and continuous delivery in 21st century

dn.dev/tektonmaster
Survey Link
https://www.surveymonkey.com/r/VJLYTHG

dn.dev/tektonmaster
Sebastien Blanc
● @sebi2706
[email protected]
● Currently Red Hat’s Director of Developer Experience
● Featured speaker at technology events around the globe
● Java Champion
● Co-organizer of Riviera DEV
● Passion-Driven-Developer with one goal : share his passion
by giving talks that are pragmatic, fun and focused on live
coding

dn.dev/tektonmaster
Monolith

MyApp

dn.dev/tektonmaster
The Application

dn.dev/tektonmaster
Modules

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Microservices

dn.dev/tektonmaster
Network of Services

dn.dev/tektonmaster
Microservices own their Data

dn.dev/tektonmaster
Multiple Points of Entry

dn.dev/tektonmaster
Teams & Pipelines

dn.dev/tektonmaster
Let there be Functions?

dn.dev/tektonmaster
Every 4 months Every
week/day/hour

Love Thy Mono

dn.dev/tektonmaster
Knative

https://github.com/knative

dn.dev/tektonmaster
Knative Announced July 24 2018

dn.dev/tektonmaster
Primitives

Vendors DX Functions Event Sources Build Tools FaaS Stuff

(tekton) Autoscaling Routing


Serverless
Knative
Invokers Event Binding Observability
Stuff

Kubernetes Deployment Replicaset Pod Service

dn.dev/tektonmaster
Knative Build

Moving to Tekton

dn.dev/tektonmaster
https://tekton.dev/

dn.dev/tektonmaster
dn.dev/tektonmaster

• •

• •



dn.dev/tektonmaster
Pipelines - Tekton

• Governed by the Continuous Delivery Foundation (cd.foundation)


• Contributions from Google, Cloudbees, IBM, Pivotal, Red Hat and more
• Originated from the Knative Build subproject
• Build your linux container images in-cluster
• Automate deployments
• Defines new Kinds via CRDs: Pipeline, Task
• Reusable Tasks (https://github.com/tektoncd/catalog)
• git clone
• mvn, bazel, s2i (python, ruby, etc)
• "docker build" (buildah, kaniko, makisu)

dn.dev/tektonmaster
Pipeline Resource
● Inputs and outputs of
tasks and pipelines
○ git repository
○ Container image registry
○ storage
● Decoupled from task
and pipeline definition
● Reusable across tasks
and pipelines

dn.dev/tektonmaster
Step


dn.dev/tektonmaster
Task
● Defines a unit of work
to be executed
● A list of steps run
sequentially
● Step containers run in
the task pod
● Has inputs, outputs
and parameters
● Can run independent
of pipelines
dn.dev/tektonmaster
Pipeline
● Combine multiple
tasks
● Task can
● Run in order (graph)
● Run in parallel
● Has inputs and
parameters
● Links task inputs and
outputs
● Pipeline tasks run on
different nodes
dn.dev/tektonmaster
{Pipeline,Task}Run

● Runtime CRDs
● Invocation of Task and
PipelineRun
Pipeline
Pipeline

PipelineResource TaskRun

● Reference tasks and Git

TaskRun

pipelines
PipelineResource
Image

● Provide inputs, outputs and


params
dn.dev/tektonmaster
Task Workflow
Tasks
Define Task

task-step-pod-a
Task Run

Task task-step-pod-b

task-step-pod-c

PipelineResource
Pipeline Controllers
(Tekton, ext, ...)

dn.dev/tektonmaster
Pipeline Workflow

Define pipeline Run pipelines

pipeline-pod-a
Pipeline PipelineRun
pipeline-pod-b
Task Task TaskRun TaskRun

pipeline-pod-c
Pipeline Controllers
(Tekton, ext, ...)
PipelineResource

dn.dev/tektonmaster
Pipelines, Tasks, Steps, Resources

Pipeline

Task Task
Task
Step Step cluster
git image Step
Step Step

Pipeline Pipeline
Resource Resource

dn.dev/tektonmaster
Pipeline: Tasks & Steps -> Pods & Containers

Pipeline Task Pod

Step Container

Step Container

Task Pod

Step Container

Step Container

dn.dev/tektonmaster
Task Catalog
● Catalog of reusable Tasks

○ Image build: , , , , etc

○ Source-to-Image: Java, Python, Go, Ruby, etc


● Import and compose pipelines
● Available catalogs
• tektoncd/catalog
• openshift/pipelines-catalog
dn.dev/tektonmaster
Tekton CLI(tkn)
• List and Describe
• Pipeline
• Resource
• Task
• Task Run
• Pipeline Run
• View logs
• Task Run
• Pipeline Run
• https://github.com/tektoncd/cli
dn.dev/tektonmaster
Resources
● dn.dev/tekton-tutorial
● dn.dev/knative-tutorial
● dn.dev/kubernetes-tutorial
● dn.dev/istio-tutorial
● dn.dev/quarkus-tutorial
● vscode Tekton Extension
● Buildah
dn.dev/tektonmaster
Download

dn.dev/tek-monotomicrodb

dn.dev/tektonmaster
Download

dn.dev/tek-istiobook

dn.dev/tektonmaster
Download

dn.dev/tek-javamsbook

dn.dev/tektonmaster
Coming Soon

dn.dev/tektonmaster

You might also like