Learning Library

← Back to Library

Tekton Overview: Kubernetes CI/CD Pipelines

Key Points

  • Tekton originated within the Knative project to address CI/CD challenges, later joining the Continuous Delivery Foundation to work across multiple Kubernetes environments.
  • The fundamental building block in Tekton is a **Task**, an isolated automation unit for building, testing, deploying, or checking software health, which can be reused across pipelines.
  • A **Pipeline** strings together one or more Tasks, and a **PipelineRun** executes the defined pipeline consistently, while **PipelineResources** supply customizable inputs like Git repos, build numbers, or Docker images.
  • Tasks are registered in a Kubernetes cluster via the Tekton Execution Engine, enabling operations teams to centrally manage shared automation that developers can consume while maintaining clear separation of responsibilities.

Full Transcript

# Tekton Overview: Kubernetes CI/CD Pipelines **Source:** [https://www.youtube.com/watch?v=TWxKD9dLpmk](https://www.youtube.com/watch?v=TWxKD9dLpmk) **Duration:** 00:06:50 ## Summary - Tekton originated within the Knative project to address CI/CD challenges, later joining the Continuous Delivery Foundation to work across multiple Kubernetes environments. - The fundamental building block in Tekton is a **Task**, an isolated automation unit for building, testing, deploying, or checking software health, which can be reused across pipelines. - A **Pipeline** strings together one or more Tasks, and a **PipelineRun** executes the defined pipeline consistently, while **PipelineResources** supply customizable inputs like Git repos, build numbers, or Docker images. - Tasks are registered in a Kubernetes cluster via the Tekton Execution Engine, enabling operations teams to centrally manage shared automation that developers can consume while maintaining clear separation of responsibilities. ## Sections - [00:00:00](https://www.youtube.com/watch?v=TWxKD9dLpmk&t=0s) **Introduction to Tekton Pipelines** - Matthew Perrins outlines Tekton’s origins from Knative, its place in the Continuous Delivery Foundation, core concepts such as reusable tasks, and how it operates on Kubernetes to automate CI/CD workflows. - [00:05:05](https://www.youtube.com/watch?v=TWxKD9dLpmk&t=305s) **Git-Driven Tekton CI/CD Pipeline** - The speaker explains how committing code to a Git repo triggers a webhook that starts a Tekton pipeline, combining the app’s pipeline definition with Tekton tasks to build a container image and deploy it to Kubernetes namespaces such as dev, test, or pre‑prod. ## Full Transcript
0:00Hi, my name's Matthew Perrins. 0:02I'm part of the IBM Cloud team 0:04and today I'm going to give you an introduction to Tekton. 0:07So, what is Tekton? 0:09Tekton started life as part of the Knative Project 0:13as they were trying to solve specific problems 0:15around how they do continuous integration and continuous delivery of 0:19their software components, 0:21and was later donated to the Continuous Delivery Foundation 0:25where we're now being able to 0:27use it and consume it across multiple 0:30Kubernetes environments and platforms. 0:33So, what I want to do today is give you 0:36an overview of the base concepts 0:38that underpin what Tekton is on, 0:41explain about how you run it inside a Kubernetes environment, 0:46and how it helps you automate and deliver your software components 0:50for running inside that platform. 0:52And then I want to give a brief explanation of how 0:55developers would consume it and work with it 0:59and how that separation of concerns may go forward. 1:04So, base level component of a Tekton continuous integration or 1:10delivery pipeline is something called a task. And a task is an automation task, 1:16yeah an automation tasks that you need to create that will help you build, test, 1:24deploy, manage, check the health of a particular piece of software. Once you 1:32create a number of tasks you can actually isolate them and reuse them 1:36very easily and Tekton one of the real benefits is that it allows you to 1:40separate your tasks that are then consumed by your developers and I'll 1:46explain that in a little bit more detail as we move forward. So, once you've got a 1:50base element task you can create something called a pipeline and a 1:59pipeline can be made up about any number of tasks 2:03so you can customize that and tailor it for the specific software needs that you 2:08have. Once you've defined a pipeline you can trigger a pipeline from something 2:14called a pipeline run, and you create multiple runs in a software delivery 2:22project but it will continue to run the exact same definition of the pipeline 2:27that you defined with the exact same definition of the task that you define. 2:31Now one of the next pieces of key information to make this sequence run 2:37smoothly is you need to provide some data for that execution so that you can 2:43tailor and customize it. Anything from a build number to supplying a unique git 2:50repository or supplying a Docker image and this is called 2:55Pipeline Resource Res. So, now we built these base components for a Tekton 3:05Pipeline what we need to do is then start to think about how we prepare a 3:10developer to consume them. So, what you would typically do is you'd register your 3:15common tasks into your Kubernetes environment inside the Tekton Execution 3:22Engine that you will install inside Kubernetes, and those tasks can be commonly 3:27shared across different applications or different development teams. So, it allows 3:33a level of management and control that can be owned by the operation, the 3:37operations side of your DevOps organization. So, Tekton itself runs 3:44inside the Kubernetes cluster and it associates very cleanly to a lot of the 3:50Kubernetes concepts like pods and services and CRD, CRC, YAML definitions. So, 3:59once you've got your pipelines defined or the concepts about how you're going 4:03to use your pipelines and once you've actually installed and got Tekton 4:09running inside your Kubernetes environment, what we need to do is then talk about 4:13how a developer would start using that in the creation 4:17and delivery of their projects. So, as I mentioned you can have different Tekton 4:23pipeline definitions and we'll call that pipeline YAML and you can define that 4:34file inside your individual application and the relationship if you remember is 4:40a pipeline can run any number of tasks and these tasks have been already 4:45registered and defined inside the Tekton environment. So, you can have task 1, task 4:522, task 3, and keep going, and within each task you can have a 4:56number of steps and again you can have any number of steps depending on the 5:03particular problem you're trying to solve. 5:05So once you've defined your pipeline definition inside your application then 5:10the developer can push their change to their Git Repository and this will allow 5:19them to iterate multiple times on code changes or definition changes or feature 5:25and function improvements. And what happens is this triggers a webhook which 5:32will then trigger a type a Tekton execution which will then marry the two 5:37elements together, it will marry their pipeline definition that comes from the 5:42application and it will take the tasks that you've defined inside your Tekton 5:47environment and this could result and we hope it does successful delivery of your 5:53applications into specific namespaces, whether it be a dev, a test, or a pre-prod. 6:01So, you've actually packaged up your code into a K8, a K8 image registry and from 6:14there you've now got a piece of packaged software that you can then roll out and 6:17deploy to other environments. So, I hope you enjoyed that walkthrough and 6:23you've got some information about the basic concepts of what Tekton 6:27is, how applications can use it, and how you run it on top of the Kubernetes 6:33platform. Thank you if you have any questions please drop us a line below. If 6:38you want to see more videos like this in the future, please like and subscribe and 6:42don't forget you can always get started on the cloud at no cost by signing up 6:46for a free IBM Cloud account.