Share
Embed
Transcript
25 slides
-
© 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) -
© 2020 Cloud Native Computing Foundation 3 Agenda • What
is Cloud Native CI/CD • Containers and CI/CD • Kubernetes and CI/CD • Tekton • Tekton triggers -
© 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 -
© 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.” -
© 2020 Cloud Native Computing Foundation 6 What is Cloud
Native CI/CD? -
© 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. -
© 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. -
© 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 -
© 2020 Cloud Native Computing Foundation 10 Most popular way
to go cloud native consists of Containers + Kubernetes -
© 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 -
© 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. -
© 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! -
© 2020 Cloud Native Computing Foundation 15 Brains of CI/CD
and putting it onto Kubernetes -
© 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. -
© 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 -
© 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 -
© 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. -
© 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.