Join this info-packed and hands-on workshop where we will cover:
Introduction to Kubernetes & GitOps talk:
We'll cover the most popular path that has brought success to many users already - GitOps as a natural evolution of Kubernetes. We'll give an overview of how you can benefit from Kubernetes and GitOps: greater security, reliability, velocity and more. Importantly, we cover definitions and principles standardized by the CNCF's OpenGitOps group and what it means for you.
Get Started with GitOps:
You'll have GitOps up and running in about 30 mins using our free and open source tools! We'll give a brief vision of where you want to be with those security, reliability, and velocity benefits, and then we'll support you while go through the getting started steps. During the workshop, you'll also experience in action and see demos for:
* an opinionated repo structure to minimize decision fatigue
* disaster recovery using GitOps
* Helm charts example
* Multi-cluster example
* all with free and open source tools mostly in the CNCF (eg. Flux and Helm).
If you have questions before or after the workshop, talk to us at #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
Artificial intelligence in the post-deep learning era
Free GitOps Workshop
1. 1
January 26, 2022
Free Workshop
Intro to Kubernetes + GitOps
Mark Emeis, Principal Engineer, Weaveworks
David Stauffer, Sr. Product Manager, Weaveworks
Tamao Nakahara, VP of DX, Weaveworks
2. 2
Weaveworks is founded on open source
● Flux & Flagger (CNCF): GitOps and Progressive Delivery for k8s
● Cortex (CNCF): Distributed, Long-term-storage TSDB compatible
with Prometheus
● (and many many more projects!)
And now … Weave GitOps!
weave.works
3. 3
Speakers Help/Support
Mark Emeis
Principal Engineer
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.
Free GitOps Workshop
4. 4
👋 Welcome!
Agenda:
Intro to Kubernetes & 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 Online User Group
(https://www.meetup.com/Weave-User-Group/)
● Jan 27: GitOps & Flux: A Refresher
● Feb 2: Get Started with Flux
● Feb 3: Flux Bug Scrub
● Feb 9: Free GitOps Workshop
● Feb 16: GitOps on Amazon EKS Anywhere + Flux
● Mar 2: Managing Thousand of Clusters & Their Workloads with
Flux
8. Mark Emeis
Principal Engineer for Weave GitOps
30+ years in the software industry
Working with containers and Kubernetes
for 5+ years
Twitter: @markemeis
GitHub: palemtnrider
mark.emeis@weave.works
Weave-community.slack.com: Mark E.
9. Outline/Background
9
● Intro to Kubernetes
○ Container Clusters - The Modern Ops Stack for the Cloud
○ Core API - Namespaces, Pods, Services, Events, Secrets, Config, …
○ apps, storage, coord., discovery, jobs, certificates, networking, RBAC, ...
○ Extending Kubernetes - CRDs, Controllers, Operators
● Intro to GitOps
○ (Need something to wrangle all of that complexity)
○ Cloud-Native Best-Practices for Kubernetes
○ Git: Version-Controlled, Immutable Storage
○ Ops: Continuous Delivery, Declarative Configuration, Automation
11. ● A platform for distributed applications
● Or A platform for platforms
● Or A modern cloud platform
● Or An Open-source platform for operations
● Or A platform for hosting twelve-factor applications
What is Kubernetes?
11
12. ● Open source software managed by CNCF of the linux
foundation
● Key components: Control Plane, API server, Data Plane,
Workloads
What is Kubernetes?
12
13. ● Standard framework w/ Conformance Testing
● Different experiences are possible, depending on:
○ Self-hosted (on-premise) vs. Managed Kubernetes
○ Environments Dev/Test users / vs. for Production
infrastructure
● Mostly same experience across all cloud providers
What is Kubernetes?
13
14. ● Key concept - “Desired State”
● Declarative configuration - what not how
○ eg. Deployments of containerized apps
● Controllers drive the actual state toward desired state
What is Kubernetes?
14
15. ● Pod
○ kubectl run --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)
15
16. ● 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)
16
17. ● Job -> (replicas: [N], template @ specification)
● CronJob -> Job (replicas: [N], immutable specification)
(Triggered automatically on a schedule)
● StatefulSet -> Pods[N] (like a Deployment, but Stateful)
(Each replica has identity, bound to a Persistent Volume)
● Control Loops - Kubernetes Controller Manager
Drives each resource toward declared state
What does that mean?
17
18. ● Declare your desired state
● Apply to your Kubernetes environment
● Control Loops for primitives and custom resources drive
toward and maintain declared state
What does that mean?
18
20. ● What would it 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?
20
22. 22
● Greater Visibility
○ Surfaces important metrics
● Improved Security
○ Less permissions
○ Access Log
● Easier Compliance
○ Standardization
○ Auditibility
Benefits for Business
23. ● Easier Deploys
○ 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
23
24. ● Less code to 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
24
25. ● 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?
25
27. Confidential do not distribute
At a Glance
27
��💻
��
This is my system
��
1 - Declarative
2 - Version Controlled
3- Automated Delivery
4 - Software Agents
27
5 - Closed Loop
29. Confidential do not distribute 29
API
CI
>_
kubectl
��🏽💻
��💻
��
Registry
docker
build
��
��
��
Traditional
30. - Git centric way 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
30
31. Weave GitOps
Unlocking Cloud Agility
Customer Value with
GitOps
31
Tamao Nakahara, VP of Developer Experience, Weaveworks
32. 32
Weaveworks is a software 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
33. IT delivery velocity leads 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.
33
1. https://services.google.com/fh/files/misc/state-of-devops-2019.pdf
34. Code
Test Commit
Build
Aims:
Maximal time coding
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
34
Weave GitOps Core and Enterprise
The Kubernetes Native, Flux Native, GitOps Platform
37. 37
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
38. 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
38
41. Educate Enable Platform Applications
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
41
GET STARTED FAST DESIGN AND BUILD
DELIVER A PRODUCTION
READY K8S PLATFORM
ENABLE AN AGILE
DELIVERY MODEL
1 2 3 4