The document outlines a workshop on Kubernetes and GitOps led by professionals from Weaveworks, highlighting the importance of GitOps in managing cloud-native applications. It discusses the key components and functionalities of Kubernetes, along with the principles and benefits of implementing GitOps for continuous delivery. Additionally, it promotes Weaveworks' tools and services designed to enhance developer productivity and streamline deployment processes.
Introduction of the workshop speakers, Weaveworks' open source projects (Flux, Flagger, Cortex) and the agenda.
Introduction to Kubernetes including its core APIs, operations, and need for GitOps in managing complexity.
Overview of Kubernetes' functionalities such as control planes, pods, deployments, jobs, and desired state management.
Definition of GitOps, its representation in Git commits and YAML manifests, along with benefits such as automation. Benefits for businesses, developers, and platform teams including improved security, streamlining processes, and enhanced reliability.
Weaveworks' role in GitOps, commitment to cloud-native applications, and the importance of automating software lifecycles along with scaling solutions.
Closing remarks and expressions of gratitude in multiple languages.
1 March 9, 2022 Introto Kubernetes & GitOps Workshop Kingdon Barrett, OSS Support Engineer, Weaveworks David Stauffer, Sr. Product Manager, Weaveworks Tamao Nakahara, VP of DX, Weaveworks
2.
2 Weaveworks is foundedon open source ● Flux & Flagger (CNCF): GitOps and Progressive Delivery for k8s ● Cortex (CNCF): Distributed, Long-term-storage TSDB compatible with Prometheus ● Weave Ignite: VMs with container UX & built-in GitOps management ● EKSctl: Create an Amazon EKS cluster with one command ● (and many many more projects!) And now … Weave GitOps! weave.works
3.
3 Speakers Help/Support Kingdon Barrett OSSEngineer David Stauffer Sr. PM, Weaveworks Tamao Nakahara VP of DX, Weaveworks Duration 90-120 Minutes Browser Safari copy/paste shortcuts may not work Using Zoom Questions? • Use chat (button: top left corner of screen) • Escape to exit full screen • “To Everyone” or “To all panelists and attendees” Support: https://support.zoom.us/hc/ en-us/articles/206175806-T op-Questions Troubleshooting Use chat If the issue is not easily resolved, we ask that you follow along as we demo the sample app. Intro to Kubernetes & GitOps Workshop
4.
4 👋 Welcome! Agenda: Intro toKubernetes & GitOps Weave GitOps overview Weave GitOps Getting started Follow along at weave.works/product/gitops-core/
5.
5 👋 Get started& Get connected 💬 🤝 1. Weave GitOps: weave.works/product/gitops-core/ 2. Getting Started: Click on “Getting Started” link from the above link 3. Need help? #weave-gitops slack at https://bit.ly/WeaveGitOpsSlack
6.
6 Coming Up Weave OnlineUser Group (https://www.meetup.com/Weave-User-Group/) ● Mar 16: Securing GitOps Debug Access with Flux, Pinniped, Dex, & GitHub ● Mar 17 & 23: Flux Bug Scrub ● Mar 24: Security: The Value of SBOMs
● Open-Source Platformfor Operations ● Control Plane and API, Data Plane, Workloads What is Kubernetes? 20
21.
● Open-Source Platformfor Operations ● Control Plane, API, Data Plane, Workloads ● Different experiences are possible, depending on: ● Self-hosted vs. Managed Kubernetes ● For Dev/Test users / vs. for Production infrastructure What is Kubernetes? 21
22.
● Common frameworkw/ Conformance Testing ● Mostly same experience across all cloud providers What is Kubernetes? 22
23.
● Common frameworkw/ Conformance Testing ● Mostly same experience across all cloud providers ● Controllers Reconciling toward a “Desired State” ● Declarative configuration ● Describes eg. Deployments - of containerized apps ● Controllers drive the actual state toward desired state What is Kubernetes? 23
24.
● Pod ○ kubectlrun --image ghcr.io/palemtnrider/weave-gitops:v0.3.2 -> pod running 1 container ● Pods have a lifecycle (Pending, Running, Succeeded, Failed, Unknown, Waiting, Terminated, Evicted) ● A “pod” definition like this by itself is not declarative. Calling a single instance (named) – imperative behavior What does that mean? (Example - Bad) 24
25.
● Deployment ->(replicas: [N], template @ specification) ○ Kubectl apply -f dep.yaml -> ReplicaSet … ○ -> Pods[N] ● Declarative primitives rescue you from managing the imperative lifecycle of pods (built-in to Kubernetes) What does that mean? (Example) 25
26.
● Deployment ->(replicas: [N], template @ specification) ○ Kubectl apply -f dep.yaml -> ReplicaSet (replicas: [N], immutable specification) (Deployment desires a matching ReplicaSet) ○ -> Pods[N] (each: [Ready], single @ immutable spec) (ReplicaSet desires [N] pods at ready state) ● Declarative primitives rescue you from managing the imperative lifecycle of pods (built-in to Kubernetes) What does that mean? (Example) 26
27.
● Job ->(...) ● CronJob -> Job (...) (Triggered automatically on a schedule) ● StatefulSet -> Pods[N] (...) (Each replica has identity, bound to a Persistent Volume) ● Control Loops - Kubernetes Controller Manager Drives each resource toward declared state What does that mean? 27
28.
● Declare yourdesired state ● Apply to your Kubernetes environment ● Control Loops for primitives and custom resources drive toward and maintain declared state What does that mean? 28
● What wouldit look like if the desired state of an entire cluster/system was represented as a single artifact? What is GitOps? 30
31.
● What wouldit look like if the desired state of an entire cluster/system was represented as a single artifact? ● Git Commit - with Kubernetes YAML manifests What is GitOps? 31
32.
● What wouldit look like if the desired state of an entire cluster/system was represented as a single artifact? ● Git Commit - with Kubernetes YAML manifests ● (GitOps is more than that) What is GitOps? 32
34 ● Greater Visibility ○Surfaces important metrics ● Improved Security ○ Less permissions ○ Access Log ● Easier Compliance ○ Standardization ○ Auditibility Benefits for Business
35.
● Easier, StreamlinedDeploys ○ Same behavior - Locally & Remotely ● Reduced knowledge required to interact with a cluster ● No cluster write credentials needed to interact with a cluster ○ “Kubectl apply, edit, create, wait where was I again” ○ “I ran a command that has left things in an irreversible state” Benefits for Developers 35
36.
● Less codeto maintain ○ scripts that go kubectl apply ➡ replaced by trusted OSS ● Less permissions ○ write cluster account ➡ replaced by git ● Easier Rollbacks ○ Previous commit + deploy job ➡ previous commit ● Easier to track changes ● Provides a layer of standardization for delivery Benefits for Platform Teams 36
● Declarative Configuration ●Version Controlled, Immutable artifacts ● Single Source of Truth ● Automated Delivery What is GitOps? 38
39.
Confidential do notdistribute At a Glance 39 ��💻 �� This is my system �� 39
40.
● Declarative Configuration ●Version Controlled, Immutable artifacts ● Single Source of Truth ● Automated Delivery of Declarative Resources What is GitOps? 40
41.
● Declarative Configuration ●Version Controlled, Immutable artifacts ● Single Source of Truth ● Automated Delivery of Declarative Resources ● Agents running in the cluster, Reconciling Definitions What is GitOps? 41
42.
● Declarative Configuration ●Version Controlled, Immutable artifacts ● Single Source of Truth ● Automated Delivery of Declarative Resources ● Agents running in the cluster, Reconciling Definitions ● “Closed Loop” What is GitOps? 42
43.
- Git centricway of implementing continuous delivery - Benefits include - Increased Productivity - Enhanced Developer Experience - Improved Stability - Higher Reliability - Consistency and Standardization - Stronger Security Guarantees - 4 Principles - GitOps overcomes the problems of tightly-coupled CI and CD In Summary 43
The “turkey dinner”:) End goal for GitOps Hands-On 45 Tamao Nakahara, VP of Developer Experience, Weaveworks
46.
46 Weaveworks is asoftware and services company founded in 2014. We are known for world class tools and delivery to a global customer base including the world’s biggest companies. The biggest clouds use our software and partner with us. 1. We provide a modular solution for customers transitioning to a cloud native platform 2. We are a neutral vendor adding value to any flavor of managed Kubernetes 3. We deliver consistent management and operational control to IT We are leaders in “GitOps” – best practices for consistent management of cloud native apps Introduction to Weaveworks
47.
IT delivery velocityleads to competitive business success DORA1 research shows that technical organisations with the best velocity on four key software delivery measures are twice as likely to meet their organisational goals. 47 1. https://services.google.com/fh/files/misc/state-of-devops-2019.pdf
48.
Code Test Commit Build Aims: Maximal timecoding Fast cycle times Local environment ● Simple development experience that scales from local kind clusters to full scale deployment ● GitOps improves every stage from development to fleet deployment ● Developer-focused tools and UX enable developers to be more productive across teams and enterprises 48 Weave GitOps Core and Enterprise The Kubernetes Native, Flux Native, GitOps Platform
51 Challenge: Developer Velocity ❏Slow feature delivery cycles ❏ Manual, unreliable deployments ❏ Downtime during deployment Accelerate software lifecycles through automation Solution: GitOps Automation ❏ Resilient and Automated deployment process ❏ Continuous application delivery ❏ Increase MTTD and decrease MTTR
52.
Weave Gitops Core:Flux Native, Open Source Application Delivery ● Represents the repositories that store a collection of a declarative description of runnable units ● Describes for the platform how to deploy, start, operate, and retire the corresponding service artifact. ● Presents which of those repos is being polled by the Weave GitOps controllers ● Presents the services and the workloads running in instances in a specific environment, including status 52
Educate Enable PlatformApplications Weaveworks Consulting, Training and CRE Service • Guided technology choices • Cloud native reference architecture designs • Cloud native technology options and selection Weave GitOps Enterprise • Infrastructure of your choice: public cloud and on premise • Configuration management for the whole platform • Integrated security • 24/7 Support DevOps • Automation, management and Continuous Delivery • Prometheus monitoring and alerting • Training for cluster operators, application operators and developers • Delivery of POCs and experimental environments Accelerating the path to Cloud Native 55 GET STARTED FAST DESIGN AND BUILD DELIVER A PRODUCTION READY K8S PLATFORM ENABLE AN AGILE DELIVERY MODEL 1 2 3 4