Tekton is an open source project that formed as a subproject of the Knative project in March of 2019. Using established Kubernetes style declarations, whole pipelines can be declared. The pipelines run on Kubernetes like any other process. Each step runs as an independent container. Tekton also helps normalize and standardize the terms and methods for forming and running pipelines. Tekton pipelines can complement a variety of popular CI/CD engines. For more information also see the Continuous Delivery Foundation (CDF).
This scenario demonstrates building, deploying, and running a Node.js application using Tekton on Kubernetes.
Tekton Pipelines is a Kubernetes extension that installs and runs on your Kubernetes cluster. It defines a set of Kubernetes Custom Resources that act as building blocks from which you can assemble CI/CD pipelines. Once installed, Tekton Pipelines becomes available via the Kubernetes CLI (kubectl) and API calls, just like pods and other resources. Tekton is open-source and part of the CD Foundation, a Linux Foundation project. -- Tekton Project
Tekton Pipelines are (detailed here):
- Cloud native
You will learn:
- How to install a private registry with a UI
- How to install the Tekton controller and optional CLI tool
- How to declare resources specific to defining a CI/CD pipeline
- About various Tekton resources like Resources, Tasks, and Pipelines
- How to kick off a pipeline and inspect its progress
While there are numerous, complementing, and competing ways to implement your CI/CD flows, you may be overwhelmed with decision fatigue while trying to invest in the best choice. Consider that Tekton is helping to standardize the language and architecture of pipelines that leverage the existing benefits of Kubernetes.
This tutorial shows how you can easily use Kubernetes as the underlying platform for running Tekton-based Pipelines. CI/CD is a great place for your team to start understanding how to leverage the distributed and high availability nature of Kubernetes.
With these steps you have learned:
- ✔ How to install a private registry with a UI
- ✔ How to install the Tekton controller and optional CLI tool
- ✔ How to declare resources specific to defining a CI/CD pipeline
- ✔ About various Tekton resources like Resources, Tasks, and Pipelines
- ✔ How to kick off a pipeline and inspect its progress
- Tekton Project
- Tekton Documentation
- Continuous Deliver Foundation
- IBM tutorial on Tekton
- Kubernetes Podcast on Tekton
- Tekton Operator
- Tekton Plugin for VSCode
- Visit the No Fluff Just Stuff tour and see this example and more in action.
Your Kubernetes Cluster
For this scenario, Katacoda has just started a fresh Kubernetes cluster for you. Verify it's ready for your use.
kubectl version --short && \
kubectl get componentstatus && \
kubectl get nodes && \
The Helm package manager used for installing applications on Kubernetes is also available.
helm version --short
You can administer your cluster with the
kubectl CLI tool or use the visual Kubernetes Dashboard. Use this script to access the protected Dashboard.