Difficulty: Beginner
Estimated Time: 10 minutes

logo

Tekton is a Google-developed open-source framework for creating continuous integration and deployment (CI/CD) systems. With Tekton, you may build, test, and deploy code across a variety of environments in an easy, quick, and standardized way.

Tekton is Kubernetes-native and works well with widely-adopted CI/CD solutions, such as Jenkins/Jenkins X, Skaffold, and Knative. It is flexible, and supports many advanced CI/CD patterns, including rolling, blue/green, and canary deployment.

This playground features a single-node Kubernetes cluster with Tekton installed, so that you can experiment, explore, and learn about Tekton as you see fit. The following components are available:

  • Tekton pipelines
  • Tekton triggers
  • Tekton dashboard
  • Tekton CLI

Additionally, the Kubernetes cluster includes:

  • A Persistent Volume for running Tekton
  • Volumes for mounting the Docker socket and storage from the playground environment into your Tekton pipelines

Congratulations

If you would like to learn more about Tekton, visit tekton.dev.

For more Tekton interactive tutorials, see try.tekton.dev.

Tekton Playground

Notes

Katacoda is now starting your experimental Kubernetes cluster and configuring Tekton. It may take a few moments to complete.

Check installation progress

Run kubectl cluster-info to check if the Kubernetes cluster has been started. You should see the addresses of your Kubernetes cluster master node and DNS in the output.

Run kubectl get pods --namespace tekton-pipelines to check if Tekton has been installed. All 5 components listed in the output should have the status running.

The playground is now fully functional. For more information about Tekton, see Tekton Documentation.

Tips

CLI

Run tkn for help and instructions.

Docker usage

If you would like to use Docker in your Tekton pipelines, mount the Docker socket and storage from the playground environment into Kubernetes with the following two Persistent Volume Claims:

  • dlib-vol-claim (mount at path /var/lib/docker)
  • dsocket-vol-claim (mount at path /var/run/docker.sock)

For example, if you would like to use Docker to build an image app in your Tekton workflow, specify a Tekton task as follows:

apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
  name: mytask
spec:
  inputs:
    ...
  steps:
  - name: docker
    image: docker
    command:
    - docker
    args:
    ...
    volumeMounts:
    - name: dsocket
      mountPath: /var/run/docker.sock
    - name: dlib
      mountPath: /var/lib/docker
  volumes:
  - name: dsocket
    persistentVolumeClaim:
      claimName: dsocket-vol-claim
  - name: dlib
    persistentVolumeClaim:
      claimName: dlib-vol-claim