Google developed Tekton, and first announced it in May 2019. The Cloud Native Computing Foundation (CNCF) now maintains it, and multiple companies are adopting it to automate their CI/CD on Kubernetes.

FeatureDescription
NameTekton
TypeOpen-source CI/CD Framework
FunctionCreate CI/CD pipelines on Kubernetes
Key ComponentsTasks, PipelineResources, PipelineRuns
Developed ByGoogle
Initial ReleaseMay 2019
Current MaintainerCNCF

Tekton's Features:

  • Pipelines: Use Tekton to create CI/CD pipelines on Kubernetes that automate the building, testing, and deployment of code to various environments.
  • Tasks: Tekton provides a collection of reusable components known as “Tasks.” You can utilize these Tasks to perform common CI/CD operations, including building container images, running tests, or deploying to a Kubernetes cluster.
  • Custom Workflows: Combine and arrange Tasks in a pipeline to create custom CI/CD workflows tailored to your specific needs.
  • PipelineResources: These pipeline definitions outline inputs, outputs, and working directories for a given pipeline. They allow for precise control over the pipeline's execution.
  • PipelineRuns: Define how a pipeline is executed. You can specify parameters passed to the Tasks and the service account used for Kubernetes cluster authentication.

Tekton's Adoption:

  • Tekton is actively embraced by many organizations as an efficient means of automating their CI/CD processes in Kubernetes environments.

For more detailed information on Tekton, you can visit the official Tekton website.

Why was it invented? What problem are we looking to solve using Tekton?

“Google developed Tekton to address the need for a flexible and reusable CI/CD framework that tightly integrates with Kubernetes. At the time of its development, several existing CI/CD solutions were available. However, many of them required significant configuration and customization to work with Kubernetes, and many lacked the ability to easily reuse common tasks across different pipelines.

Tekton aims to provide a simple and consistent way for developers to automate the process of building, testing, and deploying their code to various environments, regardless of the programming language or application framework they use. By offering a set of reusable tasks and a straightforward pipeline definition format, Tekton simplifies the creation of custom CI/CD workflows that can be easily reused and shared among teams.

In addition, Tekton strives to integrate seamlessly with other Kubernetes-native tools and services, such as Kubernetes itself, Istio, Knative, and others. This integration makes it a natural fit for cloud-native architectures and modern software development practices like microservices, serverless, and containerization.

By providing a platform-agnostic solution that can run on multiple cloud providers, on-premises, or in a hybrid manner, Tekton offers companies a single source of truth for their CI/CD processes. This enhances efficiency and promotes collaboration among development teams.”

Tekton's key features

Key FeaturesDescription
Developer FocusTekton prioritizes developers by streamlining CI/CD workflows and automating tasks like building, testing, and deployment.
Reusable Tasks“Tasks” are versatile components that can be mixed and matched to create custom CI/CD workflows in pipelines.
Kubernetes IntegrationTekton seamlessly aligns with Kubernetes and other Kubernetes-native tools and services.
Platform FlexibilityIt operates across diverse environments, from multiple cloud providers to on-premises and hybrid setups.
Cloud-Native ReadyTekton is exceptionally well-suited for cloud-native architectures, encompassing microservices, serverless, and containerization.
CNCF MaintenanceThe Cloud Native Computing Foundation (CNCF) has been maintaining Tekton since May 2019.
Wide Industry AdoptionNumerous organizations have embraced Tekton for automating CI/CD processes within Kubernetes environments.

So how do you get started with using Tekton?

Installing Tekton on a Kubernetes cluster can be done in several ways. The most common method is to use the tkn command-line tool, which is part of the Tekton CLI.

Here's an overview of the process to install Tekton on a Kubernetes cluster:

  1. Install the tkn CLI: You can install the tkn CLI by downloading a binary release from the GitHub releases page or by using a package manager such as brew (macOS) or apt-get (Ubuntu).
  2. Install the Tekton Custom Resources: You can install the Tekton custom resources on your cluster by running the following command:
tkn pipeline operator install --namespace tekton-pipelinesCode language: PHP (php)

This will create the necessary Custom Resource Definitions (CRDs) and install the Tekton pipeline operator in the tekton-pipelines namespace.

  1. Create the Tekton Service Accounts and Roles: You can create the necessary service accounts and roles required by the Tekton pipeline operator by running the following command:
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yamlCode language: JavaScript (javascript)
  1. Install Tekton Triggers: The Tekton Triggers extension is optional, but it allows you to create more advanced CI/CD workflows by triggering pipelines based on events such as a new code push to a version control system. To install it, run:
tkn trigger operator install --namespace tekton-triggersCode language: PHP (php)
  1. Verify the installation: You can verify that the Tekton pipeline operator is running by checking the pods in the tekton-pipelines namespace:
kubectl get pods -n tekton-pipelinesCode language: JavaScript (javascript)

Note that the above steps is a general guidance and some considerations such as cluster permission and namespace might vary depending on your installation environment. You should check the official Tekton documentation for more detailed instructions on how to install and configure Tekton on your specific platform.

So is learning Tekton worth your while?

Short answer is yes. But generally, Tekton is a relatively new open-source project, but it has already been adopted by a number of companies as a tool for automating their CI/CD on Kubernetes. Some examples of companies that are using Tekton include:

  • Google: As the creator of Tekton, Google is one of the largest users of the framework. They use Tekton for the CI/CD of many of their internal services and for several of the products they offer to customers such as Google Cloud Run, Google Cloud Build and others.
  • IBM: IBM is using Tekton to automate the CI/CD of their cloud-native applications and services. They have developed several Tekton-based CI/CD solutions, such as the IBM Cloud Continuous Delivery service, which helps customers automate the deployment of their applications to the IBM Cloud.
  • Salesforce: Salesforce has adopted Tekton as a core part of their development platform and have open sourced “Flow” – a suite of Tekton-based CI/CD tools that makes it easy for Salesforce developers to automate their development workflows and deploy to multiple environments.
  • Atlassian: Atlassian has integrated tekton as part of their pipeline product, Bitbucket Pipelines, which allows customers to use the same pipeline definition both on their own cluster and on Bitbucket-provided infrastructure.

These are just a few examples of the many companies that are using Tekton. With its growing popularity, more and more companies are likely to adopt Tekton as a standard tool for automating their CI/CD on Kubernetes.

Its growing popularity is in part because of the flexibility it provides, and how easy it is to use and customize, making it a good fit for companies of all sizes and industries, who are looking for a cloud-native, open-source solution to automate their CI/CD process on kubernetes.

Similar Posts

Leave a Reply