Sitemap
Aiswarya R

Aiswarya R

Software engineer curious about how things work beneath the surface. I enjoy sharing lessons learned from real-world performance optimization & software Dev.

Getting Started with Tekton

5 min readJun 18, 2026

--

Press enter or click to view image in full size

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:

  1. How to install Tekton Pipelines locally
  2. How Tasks and TaskRuns work
  3. How to troubleshoot and debug Tekton resources

Local Architecture

Before installing Tekton, let's understand the environment we'll build.

Press enter or click to view image in full size

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.

Press enter or click to view image in full size

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.0

Install Tekton Pipelines

To install Tekton Pipelines on a Kubernetes cluster, Run:

kubectl apply --filename https://infra.tekton.dev/tekton-releases/pipeline/latest/release.yaml

Note: 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 --watch

When 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.yaml

To install the dashboard in read/write mode, run the command:

kubectl apply --filename https://infra.tekton.dev/tekton-releases/dashboard/latest/release-full.yaml

Verify that the dashboard components are running:

kubectl get pods -n tekton-pipelines

You 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:9097

Then open:

http://localhost:9097

The browser loads dashboard like this:

Press enter or click to view image in full size

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.yaml

Verify:

kubectl get tasks

Execute the Task

Create a TaskRun hello-taskrun.yaml

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: hello-taskrun
spec:
taskRef:
name: hello-task

Apply:

kubectl apply -f hello-taskrun.yaml

Check status:

kubectl get taskruns

View 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 -f

Using 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.

Press enter or click to view image in full size

Expected output:

Hello from Tekton!

Congratulations! You have executed your first Tekton workload.

--

--