Getting Started with Tekton
When people hear Tekton, they often think of enterprise Kubernetes environments, cloud-native CI/CD platforms, and complex deployment pipelines.
Setting up Tekton locally became the fastest way to learn how the platform works under the hood.
In this article, we’ll build a local Tekton environment, understand the core concepts, and run our first Tekton pipeline.
By the end, you'll understand:
- How to install Tekton Pipelines locally
- How Tasks and TaskRuns work
- How to troubleshoot and debug Tekton resources
Local Architecture
Before installing Tekton, let's understand the environment we'll build.
Here's what each component does:
Rancher Desktop
In this article, I am using Rancher Desktop because it provides both a local Kubernetes environment and container runtime. However, Tekton can run on any Kubernetes Cluster. If you already use another local Kubernetes solution, feel free to use it instead.
Common alternatives include:
- Minikube is a popular beginner friendly local Kubernetes cluster.
- Kind is lightweight and commonly used for testing Kubernetes applications.
- Docker Desktop includes a standalone Kubernetes server and client, as well as Docker CLI integration, enabling local Kubernetes development and testing directly on your machine.
Regardless of the platform you choose, the Tekton installation and concepts discussed in this article remain largely the same.
Kubernetes Cluster
The Kubernetes cluster is where all Tekton resources live. When we create Tasks, Pipelines, or PipelineRuns, they are stored as Kubernetes resources.
Tekton Controllers
Tekton installs controllers that continuously watch for resources such as TaskRuns and PipelineRuns.
When a new PipelineRun is created, the controllers determine which Tasks need to run and orchestrate their execution.
TaskRuns and Pods
A Task is only a definition. When executed, Tekton creates a TaskRun.
Each TaskRun eventually becomes one or more Kubernetes Pods, which execute the defined steps inside containers.
Why This Matters
One of the most important concepts to understand is that Tekton does not execute tasks itself.
Instead, Tekton translates CI/CD workflows into Kubernetes resources and lets Kubernetes handle scheduling, execution, scaling, and lifecycle management.
This Kubernetes-native approach is what makes Tekton portable, scalable, and cloud-agnostic.
Pre-requisites
Before starting, ensure the following tools are installed.
Docker
Verify installation:
$ docker version
Client:
Version: 29.1.4-rd
API version: 1.52
Go version: go1.25.5
Git commit: 3c6914c
Built: Fri Jan 9 20:45:44 2026
OS/Arch: darwin/arm64
Context: rancher-desktop
Server:
Engine:
Version: 29.1.3
API version: 1.52 (minimum version 1.41)
Go version: go1.25.5
Git commit: fbf3ed25f893e6ce21336f1101590e40a13934f4
Built: Sun Dec 14 05:31:58 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: v2.2.0
GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41
runc:
Version: 1.4.0
GitCommit: 8bd78a9977e604c4d5f67a7415d7b8b8c109cdc4
docker-init:
Version: 0.19.0
GitCommit:Kubernetes
Tekton runs on Kubernetes, so you’ll need a local cluster. If you have Rancher Desktop installed, to enable Kubernetes, just check the Enable Kubernetes checkbox. The app will be restarted when you enable Kubernetes. Make sure to select Kubernetes version 1.28 or later.
kubectl is the command-line tool used to communicate with Kubernetes. kubectl will work immediately after you enable Kubernetes in Rancher Desktop.
Verify installation:
$ kubectl version --client
Client Version: v1.32.2
Kustomize Version: v5.5.0Install Tekton Pipelines
To install Tekton Pipelines on a Kubernetes cluster, Run:
kubectl apply --filename https://infra.tekton.dev/tekton-releases/pipeline/latest/release.yamlNote: These instructions are ideal as a quick start installation guide with Tekton Pipelines and not meant for the production use.
Monitor the installation by running the command:
kubectl get pods --namespace tekton-pipelines --watchWhen all components show 1/1 under the READY column, the installation is complete. Hit Ctrl + C to stop monitoring.
Congratulations! You have successfully installed Tekton Pipelines on your Kubernetes cluster.
What exactly did this YAML install?
Get Aiswarya R’s stories in your inbox
Join Medium for free to get updates from this writer.
The installation creates:
- Controller: Watches for PipelineRun and TaskRun resources.
- Webhook: Validates Tekton resources before they are accepted.
- CRDs: Custom Resource Definitions such as Task, TaskRun, Pipeline
& PipelineRun
These extend Kubernetes with Tekton-specific functionality.
Install Tekton CLI
Tekton provides a command-line interface called tkn that simplifies working with Tekton resources such as Tasks, Pipelines, and PipelineRuns.
The CLI is available for major operating systems and can be installed using pre-built binaries or by building it from source.
For installation instructions, refer to the official Tekton CLI documentation:
Install Tekton Dashboard
While the tkn CLI is useful for managing Tekton resources from the terminal, the Tekton Dashboard provides a web-based interface for visualizing and monitoring pipeline executions.
With the dashboard, you can:
- View Tasks, TaskRuns, Pipelines, and PipelineRuns
- Monitor pipeline execution status
- Inspect logs and resource details
- Navigate Tekton resources without relying solely on command-line tools
You can install Tekton dashboard in 2 ways: Read-only mode and Read-Write mode.
To install the dashboard in read-only mode, run the command:
kubectl apply --filename https://infra.tekton.dev/tekton-releases/dashboard/latest/release.yamlTo install the dashboard in read/write mode, run the command:
kubectl apply --filename https://infra.tekton.dev/tekton-releases/dashboard/latest/release-full.yamlVerify that the dashboard components are running:
kubectl get pods -n tekton-pipelinesYou should see dashboard related pods alongside the Tekton controller components.
For local development, you can access the dashboard using port forwarding:
kubectl port-forward -n tekton-pipelines service/tekton-dashboard 9097:9097Then open:
http://localhost:9097The browser loads dashboard like this:
The dashboard provides a convenient way to visualize pipeline activity and is particularly helpful when learning Tekton or troubleshooting pipeline executions.
Note: The dashboard is optional. Everything shown in this article can be accomplished using kubectl and tkn, but the dashboard offers a more intuitive view of Tekton resources and their execution state.
Let’s create the First Task
Create a file named hello-task.yamlwith content:
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: hello-task
spec:
steps:
- name: print-message
image: alpine
script: |
echo "Hello from Tekton!"Apply it:
kubectl apply -f hello-task.yamlVerify:
kubectl get tasksExecute the Task
Create a TaskRun hello-taskrun.yaml
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: hello-taskrun
spec:
taskRef:
name: hello-taskApply:
kubectl apply -f hello-taskrun.yamlCheck status:
kubectl get taskrunsView Execution Logs
Using kubectl:
kubectl logs $(kubectl get pod -l tekton.dev/taskRun=hello-taskrun -o jsonpath='{.items[0].metadata.name}')Using Tekton CLI:
tkn taskrun logs hello-taskrun -fUsing Tekton Dashboard:
Open http://localhost:9097/ in any browser and click on TaskRun on the sidebar. Open the TaskRun hello-taskrun and select Logs to view the logs.
Expected output:
Hello from Tekton!Congratulations! You have executed your first Tekton workload.






