Follow along in this free workshop and experience GitOps!
AGENDA:
Welcome - Tamao Nakahara, Head of DX (Weaveworks)
Introduction to Kubernetes & GitOps - Mark Emeis, Principal Engineer (Weaveworks)
Weave Gitops Overview - Tamao Nakahara
Free Gitops Workshop - David Harris, Product Manager (Weaveworks)
If you're new to Kubernetes and GitOps, we'll give you a brief introduction to both and how GitOps is the natural evolution of Kubernetes.
Weave GitOps Core is a continuous delivery product to run apps in any Kubernetes. It is free and open source, and you can get started today!
https://www.weave.works/product/gitops-core
If you’re stuck, also come talk to us at our Slack channel! #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
Axa Assurance Maroc - Insurer Innovation Award 2024
Free GitOps Workshop + Intro to Kubernetes & GitOps
1. 1
1
January 12, 2021
Free Workshop
Intro to Kubernetes + GitOps
Mark Emeis, Principal Engineer, Weaveworks
David Harris, Product Manager, Weaveworks
Tamao Nakahara, VP of DX, Weaveworks
2. 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
3
Speakers Help/Support
Mark Emeis
Principal Engineer
David Harris
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
4
👋 Welcome!
Agenda:
Intro to Kubernetes & GitOps
Weave GitOps overview
Weave GitOps Getting started
Follow along at weave.works/product/gitops-core/
5. 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
6
Coming Up
Weave Online User Group
(https://www.meetup.com/Weave-User-Group/)
● Jan. 26: Free GitOps Workshop
● Jan 27: GitOps & Flux Refresher with Priyanka Ravi
● Feb 2: Get Started with Flux with Priyanka Ravi
● Feb 9: Free GitOps Workshop
● And many more…
8. 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.
19. 19
19
● 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?
19
20. 20
20
● 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?
20
21. 21
21
● Open source software managed by CNCF of the linux foundation
● Key components: Control Plane, API server, Data Plane, Workloads
What is Kubernetes?
21
22. 22
22
● 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?
22
23. 23
23
● 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?
23
24. 24
24
● 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)
24
25. 25
25
● 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)
25
26. 26
26
● 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?
26
27. 27
27
● 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?
27
29. 29
29
● What would it look like if the desired state of an entire
cluster/system was represented as a single artifact?
What is GitOps?
29
30. 30
30
● 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
What is GitOps?
30
31. 31
31
● 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?
31
33. 33
33
33
● Greater Visibility
○ Surfaces important metrics
● Improved Security
○ Less permissions
○ Access Log
● Easier Compliance
○ Standardization
○ Auditibility
Benefits for Business
34. 34
34
● 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
34
35. 35
35
● 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
35
37. 37
37
● Declarative Configuration
● Version Controlled, Immutable artifacts
● Single Source of Truth
● Automated Delivery
What is GitOps?
37
38. 38
38
● Declarative Configuration
● Version Controlled, Immutable artifacts
● Single Source of Truth
● Automated Delivery of Declarative Resources
What is GitOps?
38
39. 39
39
● 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?
39
40. 40
40
● 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?
40
47. 47
47
- 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
49. 49
Weave GitOps
Unlocking Cloud Agility
Customer Value with
GitOps
49
Tamao Nakahara, VP of Developer Experience, Weaveworks
50. 5
0
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
51. 51
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.
51
1. https://services.google.com/fh/files/misc/state-of-devops-2019.pdf
52. 52
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
52
Weave GitOps Core and Enterprise
The Kubernetes Native, Flux Native, GitOps Platform
55. 55
55
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
56. 56
56
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
56
59. 59
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
59
GET STARTED FAST DESIGN AND BUILD
DELIVER A PRODUCTION
READY K8S PLATFORM
ENABLE AN AGILE
DELIVERY MODEL
1 2 3 4