Tekton provides a framework for implementing CI & CD in Kubernetes. Like most things Kubernetes related, Tekton is really an open, flexible design to allow you to implement CI & CD pipelines in a standardized way irrelevant of the products, vendors, and specific goals of your particular implementation.
Tekton is a quickly growing project and has a number of components. You can think about the components in four categories.
The core of Tekton are Pipelines and Triggers. Pipelines are what you think of when you think of CI & CD, a series of steps that take place whenever the pipeline is activated. Triggers are simply what activates a pipeline based on well-defined events. Mastering Pipelines and Triggers is where you should start in order to be a successful user of Tekton
A Pipeline is a collection of Tasks which can be executed repeatedly and may have many instances running in parallel. The Pipeline may not be idempotent so Tekton will run the Pipeline only once. A Task is a set of Steps that are the actual execution of the pipeline. In other words, a Step is a small piece, like compilation, a logical set of steps is captured as a Task, and a series of Tasks becomes a Pipeline. In Kubernetes terms, each Step is a container, each Task is a pod that contains the appropriate Step containers, and the Pipeline is one or more Task pods.
Tekton Catalog is a mechanism for sharing pre-built components amongst Tekton users. Tekton Hub is a Web UI for finding and accessing elements of the Tekton Catalog.
The Tekton Operator allows you to distribute Pipelines and Triggers to any Kubernetes cluster leveraging the Operator Pattern. In case you are unfamiliar, the Operator Pattern is a well-known method of distribution and updating Kubernetes artifacts that is leveraged by many parts of the Kubernetes ecosystem and has many Kubernetes components available provided by communities and vendors. You can find many of them at OperatorHub.io.
Managing your Triggers and Pipelines can be done via the last two components. The Tekton CLI (tkn) is a command line interface for manipulating your Triggers and Pipelines. The Tekton Dashboard is a nascent tool for visualizing the operation of your Pipelines.
- Screenshot attribution to the Tekton Dashboard team