Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CNCF Hyderabad Meetup: Getting Started with Tekton

CNCF Hyderabad Meetup: Getting Started with Tekton

Nancy Chauhan

February 27, 2021

Transcript

25 slides
  1. © 2020 Cloud Native Computing Foundation 2 $ whoami •

    Developer @Grofers • Loves to make cool things ranging from hardware to infra. • Blog: nancychauhan.in • Speaks her mind at @_nancychauhan(Twitter Handle)
  2. © 2020 Cloud Native Computing Foundation 3 Agenda • What

    is Cloud Native CI/CD • Containers and CI/CD • Kubernetes and CI/CD • Tekton • Tekton triggers
  3. © 2020 Cloud Native Computing Foundation 4 • Cloud computing

    adoption has accelerated rapidly. • Public cloud spending: $500 billion by 2023 according to IDC • Devops Culture Shift : Cloud Native
  4. © 2020 Cloud Native Computing Foundation 5 What does Cloud

    Native mean? The Linux Foundation offers the following definition: “Cloud native computing uses an open-source software stack to deploy applications as microservices, packaging each part into its own container and dynamically orchestrating those containers to optimize resource utilization.”
  5. © 2020 Cloud Native Computing Foundation 7 Containers Microservices in

    containers • Ease for building, packaging and running applications. • Fast startup times. • Saving in operational cost as compared to VMS.
  6. © 2020 Cloud Native Computing Foundation 8 With the rise

    of containerization, both build and deployment stages in CI/CD pipelines continue to be containerized. It has led to the rise and development of various CI and CD tools for the Cloud-Native landscape.
  7. © 2020 Cloud Native Computing Foundation 9 Containers and CI/CD

    • All dependencies you need are in container • All we need is to run the container
  8. © 2020 Cloud Native Computing Foundation 10 Most popular way

    to go cloud native consists of Containers + Kubernetes
  9. © 2020 Cloud Native Computing Foundation 11 Kubernetes • Platform

    for managing containers • Better use of resources – Scaling up and down while demand – Serverless models mean you only pay for compute you need • Standardisation
  10. © 2020 Cloud Native Computing Foundation 12 Kubernetes and CI/CD

    While running CI/CD pipelines in Kubernetes, some of the challenges we are going to face are: 1. Images instead of binaries 2. Clusters: Many environments 3. Microservices instead of monoliths (Managing dependencies between all services is going to be challenging) 4. Ephemeral environments.
  11. © 2020 Cloud Native Computing Foundation 13 Hence, we need

    a solution to these challenges in the form of cloud-native CI/CD tools. Some of the tools listed in the cloud-native landscape are Spinnaker, Argo CD, Tekton, and Jenkins X. Let’s take a deep dive into Tekton now!
  12. © 2020 Cloud Native Computing Foundation 16 Tekton provides us

    with composable, declarative, reproducible, and Cloud-Native tools to easily build the pipelines. Tekton adds a few CRDs and custom resources to your Kubernetes cluster which can be used to make CI/CD pipelines.
  13. © 2020 Cloud Native Computing Foundation 17 Tekton Pipelines features

    • Portability • Decoupled – Run pipeline with your own resources – Run a piece of pipeline ( task ) on their own • Tekton pipelines is implemented as K8s CRDs
  14. © 2020 Cloud Native Computing Foundation 21 Tekton as replacement

    for Jenkins/Gitlab ETC • Tekton needs PipelineRun and TaskRun to execute • Tekton Events is a separate project that runs pipelines on events • Events can be webhooks, Github code push etc. • Event listeners receive webhooks and match against trigger binding. • Trigger bindings populate a pipelinerun using trigger templates
  15. © 2020 Cloud Native Computing Foundation 23 Advantages 1. Tekton

    is cloud-native, runs on an existing Kubernetes cluster. 2. Tekton provides an out-of-the-box solution for monitoring. 3. Easy to build pipeline using reusable tasks and steps.
  16. © 2020 Cloud Native Computing Foundation 24 Disadvantages: 1. No

    out-of-the-box support for authentication. 2. Pipeline configuration is stored separately from code. To change the pipeline configuration, developers need to apply Kubernetes manifests manually.

More Decks by Nancy Chauhan

Other Decks in Programming