SlideShare a Scribd company logo
Hands-on GitOps Patterns
for Helm Users
Scott Rigby, Developer Experience Engineer, Weaveworks
Stacey Potter, Community Manager, Weaveworks
GitOpsDays.com
June 9-10, 2021
CFP is OPEN
Submit your gitops
related talk today!
(CFP ends April 18 @ 11:59pm PT)
/kubecon-cloudnativecon-europe/program/colocated-events/#gitops-con
/kubecon-cloudnativecon-europe/program/colocated-events/#gitops-con
👋 Hello GitOps and Flux Users! 👋
Flux users! 😻 Sneak peek to the power
of Flux (v2)!
New users! ⚡ The Power of GitOps
with Flux!
👋 Get Connected 💬
1. Check out the Flux docs at:
https://toolkit.fluxcd.io/get-started/
2. GitHub Discussions Q&A:
https://github.com/fluxcd/flux2/discussi
ons/categories/q-a
3. CNCF Slack #Flux channel
Weaveworks is founded on open source
● Flux (& GitOps Toolkit) (CNCF Incubating): GitOps for k8s
● Flagger (CNCF): Declarative Progressive Delivery for Service
Meshes
● 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!)
weave.works
Hands-on GitOps Patterns for Helm Users
Speakers Help/Support
Duration
30-45 Minutes
Scott Rigby
DX Engineer
Weaveworks
Stacey Potter
Community Mgr
Weaveworks
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.
● GitOps is an app dev and operations methodology
● GitOps is a methodology, not a specific tool or
technology.
● GitOps applies to everything
and brings business value.
What is GitOps? … and why do I want it?
GitOps leverages:
● an entire system that is described declaratively
● code that is version controlled and
● software agents that reconcile and ensure correctness
(along with alerts, etc).
4 Principles of GitOps
demo
We’ll be Covering
● Why Helm Patterns for Flux?
○ Helm Scope
○ Flux Helm Controller scope
○ Flux ❤ Helm, Better Together
● Moving Helm Releases from CI to Flux CD
○ Common Use Cases & Helpful Features
○ Common Pitfalls
○ How Flux Source & Helm Controllers Work
○ Kustomize Controller Syncs Plain YAML? 😮
● Demo Time
○ Example: Infra & App Defs Colocated
● Wrap up: What We Covered
○ <no spoilers!>
● Thanks & Props
○ To all the people for all the things 🤜🤛 🦄 ✊ 💖 🤩
● Q&A Time
Why Helm Patterns for Flux?
✅ In Scope
● Supports CLI and SDK (which
Flux uses)
● Packaging
● Configuration
● Imperative app delivery
● Versioning and rollbacks
● etc…
🚫 Out of Scope
● Manage or structure multiple
environments. You must use
other tools for this (e.g.,
Helmfile, bash/Makefile)
● Control loop, or retry logic
● Automated responses (beyond
rollback)
● Automated drift detection
(imperatively this can be done
with helm diff plugin)
Helm Scope
1. Flux is a pull-first CD system **DIAGRAM**
○ You _can_ also add push webhooks, but unless you're also using the pull model it's
missing the major value of Flux
2. Separates CD from CI
○ Often users "continuous delivery" is mixed in with their CI
○ Moves Helm Release to a CD reconciliation loop, rather than imperative
event-based job
○ Removes need for a human response to a CI job. Humans are notified when there's
a runtime error, you then fix it in Git
3. helm-controller uses the Helm SDK
○ It does not use helm template like many other delivery tools & GitOps solutions
○ Flux HelmRelease supports hooks and post-release `helm test`
4. Flux does still provide feedback
○ The Notification controller notifies you instead of you having to monitor
Flux Helm Controller Scope
Better Together
Flux introduces an additional
layer of reliability,
consistency, observability,
and auditability to the
benefits of using Helm in CI.
❤
Moving Helm Releases from CI
to Flux CD
Common Use Cases
You can install Flux and helm-controller on an existing cluster
with running helm releases, or use new Helm Release
configurations to move to new infrastructure.
● In-place lift-and-shift / pivot-to-GitOps
● Migrate on fresh infra
You can also mix and match:
● Custom Helm charts
● Shared internal or community Helm charts
Configuring Flux to Own Existing Releases
1. Refer to any Helm values files already checked into Git
○ Whether applied with some scripting per environment
(`ENV-values.yaml`)
○ Helmfile used declaratively
2. Inspect the state of the cluster
○ This is important if you have people modifying helm releases
imperatively
○ `helm get values my-release`
3. Then configure the Flux HelmRelease with your Helm
values
○ Using HelmRelease Values
○ or ConfigMaps/Secrets referenced by HelmRelease `ValuesFrom`
Pause/Resume Reconciliation per Release
🚧 ⏸
Flux 2 allows pausing
automated reconciliation per
Helm Release
DependsOn Feature
🧠💪
More memory efficient than a large umbrella chart
Example: ingress controller and cert-manager
installed before applications that rely on those
SemVer Ranges for Charts
📑🤖
Flux 2 supports semver range policies from
Helm repositories
Examples: >=4.0.0 or <5.0.0
Install Charts from Storage Bucket Source
📀🍿
S3, google storage,
Azure blob storage,
KFC etc
Helm Repo Reference Reusability
♻😗
Flux 2 Helm Releases use
references to Helm Repos.
Define once, use everywhere
Optional Credentials Per git or Helm Repo
🆔🔓
★ Greater flexibility, more composability
★ If you have multiple sources locked
down in different ways, it’s no longer
a problem
★ Allows you to enforce principle of
least privilege more easily
👾🛰
★ Have an out of cluster
experience
★ Flux can also sync Cluster
API manifests, allowing
you to spin up multiple
clusters from a single
management cluster
Out of Cluster Helm Releases
Common Pitfalls
● If you have custom logic, such as health checks when mixing CI and CD
together, you'll need to determine how to port that logic to a
Flux-compatible solution
○ If this proves challenging, it can be a sign that your CI and CD are overly coupled,
which could cause other issues with your release process
○ To solve: More cleanly separate your CI and CD. You may also want to consider more
resilient tools to accomplish the same goals – e.g., use Flagger for traffic directing
based on health checks and other conditions (opens up a path to blue/green, canary,
etc)
● It's possible to accidentally structure your source repos in ways that
make it difficult for people access the things they need
○ Ensure folks can update their HelmReleases during incident response – whether
access in the repo, or giving in-cluster access to temporarily suspend Flux
reconciliation per Helm release and perform imperative fixes
○ To solve: Can split into multiple repos according to user access rights
○ Solutions vary by git provider: GitHub CODEOWNERS, GitLab has per-directory ACLs
How Flux Source & Helm Controllers Work
Don’t let the
name scare
you 🙈 It just
works 💁🌈
Kustomize Controller Syncs Plain YAML? 😮
It seemed like
a good name
at the time
😅
Don’t let the
name scare
you 🙈 It just
works 💁🌈
Kustomize Controller Syncs Plain YAML? 😮
Demo Time!
Example Infra & App Defs Colocated
https://gist.github.com/scottrigby/82b224804052726624fd46d5f0
42146c
Wrap up: What We Covered
● You should now have a good start moving your Helm
Releases from CI to Flux CD
● No special knowledge about other tools required (you can
always decide to layer Kustomize into your Flux flows later)
● Understand how Flux controllers work to automatically
reconcile your source definitions and the actual state of your
operations, whenever they diverge
● And one more thing…
✅
✅
✅
✅
🤜🤛 Thx!
★ Alison Dowdney
collaborated on Slides!
★ Hidde Beydals, Leigh
Capili, & Kingdon Barrett
collaborated on demo! 🛠
Thanks & Props
🦄 Thx all Flux
component & community
maintainers!
✊ Thx Helm maintainers!
💖 Thank you all for coming!
See you next tiiiime!
Q&A Time!
Upcoming
2021 GitOps Talks!
(regularly every other Monday @ 10am PT / 18:00 GMT)
April 5: Flux 2 Azure Use Cases
(Leigh Capili)
April 19: Flux 2 Notifications, Alerts
& Webhooks (Alison Dowdney)
Next Steps
• Join us on Flux discussions if you have more questions:
https://github.com/fluxcd/flux2/discussions
• Flux Community: https://fluxcd.io/community/
• Join the GitOps Community Group:
https://www.meetup.com/GitOps-Community/
• More info on GitOps? Visit www.gitops.community/
• Join the GitOps Community LinkedIn Group:
https://www.linkedin.com/groups/13914610/
THANK YOU!

More Related Content

What's hot (20)

PDF
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
PDF
Docker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Andrew Phillips
 
PDF
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
PDF
Gitops Hands On
Brice Fernandes
 
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
VMware Tanzu
 
PDF
GitOps A/B testing with Istio and Helm
Weaveworks
 
PDF
Speeding up your team with GitOps
Brice Fernandes
 
PDF
Agnostic Continuous Delivery
Hervé Leclerc
 
PDF
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Sonja Schweigert
 
PDF
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
William Caban
 
PDF
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
William Yeh
 
PDF
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
PDF
Security: The Value of SBOMs
Weaveworks
 
PPTX
Perforce Innovations Showcase 
Perforce
 
PPTX
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
PPTX
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
ManageIQ
 
PDF
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
William Yeh
 
PDF
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
All Things Open
 
PDF
Flagger: Istio Progressive Delivery Operator
Weaveworks
 
PPTX
Webinar: High velocity deployment with google cloud and weave cloud
Weaveworks
 
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
Docker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Andrew Phillips
 
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
Gitops Hands On
Brice Fernandes
 
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
VMware Tanzu
 
GitOps A/B testing with Istio and Helm
Weaveworks
 
Speeding up your team with GitOps
Brice Fernandes
 
Agnostic Continuous Delivery
Hervé Leclerc
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Sonja Schweigert
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
William Caban
 
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
William Yeh
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
Security: The Value of SBOMs
Weaveworks
 
Perforce Innovations Showcase 
Perforce
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
Weaveworks
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
ManageIQ
 
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
William Yeh
 
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
All Things Open
 
Flagger: Istio Progressive Delivery Operator
Weaveworks
 
Webinar: High velocity deployment with google cloud and weave cloud
Weaveworks
 

Similar to Hands-on GitOps Patterns for Helm Users (20)

PDF
GitOps for Helm Users by Scott Rigby
Weaveworks
 
PDF
GitOps (& Flux) for Helm Users with Scott Rigby
Weaveworks
 
PDF
GitOps & Flux - A Refresher with Priyanka Ravi
Weaveworks
 
PDF
Flux Security & Scalability using VS Code GitOps Extension
Weaveworks
 
PDF
How to manage Kubernetes at scale with just git
Weaveworks
 
PDF
WTF is GitOps and Why You Should Care?
Weaveworks
 
PDF
WTF is GitOps & Why Should You Care?
All Things Open
 
PDF
GitOps with Flux - IPC Munich 2022
Robert Lemke
 
PDF
Intro to GitOps & Flux.pdf
Weaveworks
 
PDF
The Story of Flux Reaching Graduation in the CNCF
Weaveworks
 
PDF
Get Started with Flux
Weaveworks
 
PDF
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Weaveworks
 
PDF
Flux is incubating + the road ahead
LibbySchulze
 
PDF
Get started with gitops and flux
LibbySchulze1
 
PDF
Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)
Tomasz Tarczyński
 
PDF
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Weaveworks
 
PDF
Flux Beyond Git Harnessing the Power of OCI
Weaveworks
 
PDF
Flux Beyond Git Harnessing the Power of OCI
CezzaineZaher1
 
PDF
Config management for kubernetes: GitOps + Helm
Tomasz Tarczyński
 
PDF
20221130 - Luxembourg HUG Meetup
Stéphane Este-Gracias
 
GitOps for Helm Users by Scott Rigby
Weaveworks
 
GitOps (& Flux) for Helm Users with Scott Rigby
Weaveworks
 
GitOps & Flux - A Refresher with Priyanka Ravi
Weaveworks
 
Flux Security & Scalability using VS Code GitOps Extension
Weaveworks
 
How to manage Kubernetes at scale with just git
Weaveworks
 
WTF is GitOps and Why You Should Care?
Weaveworks
 
WTF is GitOps & Why Should You Care?
All Things Open
 
GitOps with Flux - IPC Munich 2022
Robert Lemke
 
Intro to GitOps & Flux.pdf
Weaveworks
 
The Story of Flux Reaching Graduation in the CNCF
Weaveworks
 
Get Started with Flux
Weaveworks
 
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Weaveworks
 
Flux is incubating + the road ahead
LibbySchulze
 
Get started with gitops and flux
LibbySchulze1
 
Config management for_kubernetes: GitOps + Helm (CfgMgmtCamp 2020)
Tomasz Tarczyński
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Weaveworks
 
Flux Beyond Git Harnessing the Power of OCI
Weaveworks
 
Flux Beyond Git Harnessing the Power of OCI
CezzaineZaher1
 
Config management for kubernetes: GitOps + Helm
Tomasz Tarczyński
 
20221130 - Luxembourg HUG Meetup
Stéphane Este-Gracias
 
Ad

More from Weaveworks (20)

PDF
Weave AI Controllers (Weave GitOps Office Hours)
Weaveworks
 
PDF
Flamingo: Expand ArgoCD with Flux (Office Hours)
Weaveworks
 
PDF
Six Signs You Need Platform Engineering
Weaveworks
 
PDF
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Weaveworks
 
PDF
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
PDF
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Weaveworks
 
PDF
How to Avoid Kubernetes Multi-tenancy Catastrophes
Weaveworks
 
PDF
Building internal developer platform with EKS and GitOps
Weaveworks
 
PDF
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Weaveworks
 
PDF
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Weaveworks
 
PDF
Implementing Flux for Scale with Soft Multi-tenancy
Weaveworks
 
PDF
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Weaveworks
 
PDF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Weaveworks
 
PDF
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Weaveworks
 
PDF
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Weaveworks
 
PDF
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Weaveworks
 
PDF
Robust Network Security and Observability with GitOps and Cilium
Weaveworks
 
PDF
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
Weaveworks
 
PDF
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
PDF
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
Weaveworks
 
Weave AI Controllers (Weave GitOps Office Hours)
Weaveworks
 
Flamingo: Expand ArgoCD with Flux (Office Hours)
Weaveworks
 
Six Signs You Need Platform Engineering
Weaveworks
 
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Weaveworks
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Weaveworks
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
Weaveworks
 
Building internal developer platform with EKS and GitOps
Weaveworks
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Weaveworks
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Weaveworks
 
Implementing Flux for Scale with Soft Multi-tenancy
Weaveworks
 
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Weaveworks
 
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Weaveworks
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Weaveworks
 
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Weaveworks
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Weaveworks
 
Robust Network Security and Observability with GitOps and Cilium
Weaveworks
 
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
Weaveworks
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
Weaveworks
 
Ad

Recently uploaded (20)

PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 

Hands-on GitOps Patterns for Helm Users

  • 1. Hands-on GitOps Patterns for Helm Users Scott Rigby, Developer Experience Engineer, Weaveworks Stacey Potter, Community Manager, Weaveworks
  • 2. GitOpsDays.com June 9-10, 2021 CFP is OPEN Submit your gitops related talk today! (CFP ends April 18 @ 11:59pm PT)
  • 5. 👋 Hello GitOps and Flux Users! 👋 Flux users! 😻 Sneak peek to the power of Flux (v2)! New users! ⚡ The Power of GitOps with Flux!
  • 6. 👋 Get Connected 💬 1. Check out the Flux docs at: https://toolkit.fluxcd.io/get-started/ 2. GitHub Discussions Q&A: https://github.com/fluxcd/flux2/discussi ons/categories/q-a 3. CNCF Slack #Flux channel
  • 7. Weaveworks is founded on open source ● Flux (& GitOps Toolkit) (CNCF Incubating): GitOps for k8s ● Flagger (CNCF): Declarative Progressive Delivery for Service Meshes ● 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!) weave.works
  • 8. Hands-on GitOps Patterns for Helm Users Speakers Help/Support Duration 30-45 Minutes Scott Rigby DX Engineer Weaveworks Stacey Potter Community Mgr Weaveworks 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.
  • 9. ● GitOps is an app dev and operations methodology ● GitOps is a methodology, not a specific tool or technology. ● GitOps applies to everything and brings business value. What is GitOps? … and why do I want it?
  • 10. GitOps leverages: ● an entire system that is described declaratively ● code that is version controlled and ● software agents that reconcile and ensure correctness (along with alerts, etc). 4 Principles of GitOps
  • 11. demo
  • 12. We’ll be Covering ● Why Helm Patterns for Flux? ○ Helm Scope ○ Flux Helm Controller scope ○ Flux ❤ Helm, Better Together ● Moving Helm Releases from CI to Flux CD ○ Common Use Cases & Helpful Features ○ Common Pitfalls ○ How Flux Source & Helm Controllers Work ○ Kustomize Controller Syncs Plain YAML? 😮 ● Demo Time ○ Example: Infra & App Defs Colocated ● Wrap up: What We Covered ○ <no spoilers!> ● Thanks & Props ○ To all the people for all the things 🤜🤛 🦄 ✊ 💖 🤩 ● Q&A Time
  • 13. Why Helm Patterns for Flux?
  • 14. ✅ In Scope ● Supports CLI and SDK (which Flux uses) ● Packaging ● Configuration ● Imperative app delivery ● Versioning and rollbacks ● etc… 🚫 Out of Scope ● Manage or structure multiple environments. You must use other tools for this (e.g., Helmfile, bash/Makefile) ● Control loop, or retry logic ● Automated responses (beyond rollback) ● Automated drift detection (imperatively this can be done with helm diff plugin) Helm Scope
  • 15. 1. Flux is a pull-first CD system **DIAGRAM** ○ You _can_ also add push webhooks, but unless you're also using the pull model it's missing the major value of Flux 2. Separates CD from CI ○ Often users "continuous delivery" is mixed in with their CI ○ Moves Helm Release to a CD reconciliation loop, rather than imperative event-based job ○ Removes need for a human response to a CI job. Humans are notified when there's a runtime error, you then fix it in Git 3. helm-controller uses the Helm SDK ○ It does not use helm template like many other delivery tools & GitOps solutions ○ Flux HelmRelease supports hooks and post-release `helm test` 4. Flux does still provide feedback ○ The Notification controller notifies you instead of you having to monitor Flux Helm Controller Scope
  • 16. Better Together Flux introduces an additional layer of reliability, consistency, observability, and auditability to the benefits of using Helm in CI. ❤
  • 17. Moving Helm Releases from CI to Flux CD
  • 18. Common Use Cases You can install Flux and helm-controller on an existing cluster with running helm releases, or use new Helm Release configurations to move to new infrastructure. ● In-place lift-and-shift / pivot-to-GitOps ● Migrate on fresh infra You can also mix and match: ● Custom Helm charts ● Shared internal or community Helm charts
  • 19. Configuring Flux to Own Existing Releases 1. Refer to any Helm values files already checked into Git ○ Whether applied with some scripting per environment (`ENV-values.yaml`) ○ Helmfile used declaratively 2. Inspect the state of the cluster ○ This is important if you have people modifying helm releases imperatively ○ `helm get values my-release` 3. Then configure the Flux HelmRelease with your Helm values ○ Using HelmRelease Values ○ or ConfigMaps/Secrets referenced by HelmRelease `ValuesFrom`
  • 20. Pause/Resume Reconciliation per Release 🚧 ⏸ Flux 2 allows pausing automated reconciliation per Helm Release
  • 21. DependsOn Feature 🧠💪 More memory efficient than a large umbrella chart Example: ingress controller and cert-manager installed before applications that rely on those
  • 22. SemVer Ranges for Charts 📑🤖 Flux 2 supports semver range policies from Helm repositories Examples: >=4.0.0 or <5.0.0
  • 23. Install Charts from Storage Bucket Source 📀🍿 S3, google storage, Azure blob storage, KFC etc
  • 24. Helm Repo Reference Reusability ♻😗 Flux 2 Helm Releases use references to Helm Repos. Define once, use everywhere
  • 25. Optional Credentials Per git or Helm Repo 🆔🔓 ★ Greater flexibility, more composability ★ If you have multiple sources locked down in different ways, it’s no longer a problem ★ Allows you to enforce principle of least privilege more easily
  • 26. 👾🛰 ★ Have an out of cluster experience ★ Flux can also sync Cluster API manifests, allowing you to spin up multiple clusters from a single management cluster Out of Cluster Helm Releases
  • 27. Common Pitfalls ● If you have custom logic, such as health checks when mixing CI and CD together, you'll need to determine how to port that logic to a Flux-compatible solution ○ If this proves challenging, it can be a sign that your CI and CD are overly coupled, which could cause other issues with your release process ○ To solve: More cleanly separate your CI and CD. You may also want to consider more resilient tools to accomplish the same goals – e.g., use Flagger for traffic directing based on health checks and other conditions (opens up a path to blue/green, canary, etc) ● It's possible to accidentally structure your source repos in ways that make it difficult for people access the things they need ○ Ensure folks can update their HelmReleases during incident response – whether access in the repo, or giving in-cluster access to temporarily suspend Flux reconciliation per Helm release and perform imperative fixes ○ To solve: Can split into multiple repos according to user access rights ○ Solutions vary by git provider: GitHub CODEOWNERS, GitLab has per-directory ACLs
  • 28. How Flux Source & Helm Controllers Work
  • 29. Don’t let the name scare you 🙈 It just works 💁🌈 Kustomize Controller Syncs Plain YAML? 😮 It seemed like a good name at the time 😅
  • 30. Don’t let the name scare you 🙈 It just works 💁🌈 Kustomize Controller Syncs Plain YAML? 😮
  • 32. Example Infra & App Defs Colocated https://gist.github.com/scottrigby/82b224804052726624fd46d5f0 42146c
  • 33. Wrap up: What We Covered
  • 34. ● You should now have a good start moving your Helm Releases from CI to Flux CD ● No special knowledge about other tools required (you can always decide to layer Kustomize into your Flux flows later) ● Understand how Flux controllers work to automatically reconcile your source definitions and the actual state of your operations, whenever they diverge ● And one more thing… ✅ ✅ ✅ ✅
  • 35. 🤜🤛 Thx! ★ Alison Dowdney collaborated on Slides! ★ Hidde Beydals, Leigh Capili, & Kingdon Barrett collaborated on demo! 🛠 Thanks & Props 🦄 Thx all Flux component & community maintainers! ✊ Thx Helm maintainers! 💖 Thank you all for coming! See you next tiiiime!
  • 37. Upcoming 2021 GitOps Talks! (regularly every other Monday @ 10am PT / 18:00 GMT) April 5: Flux 2 Azure Use Cases (Leigh Capili) April 19: Flux 2 Notifications, Alerts & Webhooks (Alison Dowdney)
  • 38. Next Steps • Join us on Flux discussions if you have more questions: https://github.com/fluxcd/flux2/discussions • Flux Community: https://fluxcd.io/community/ • Join the GitOps Community Group: https://www.meetup.com/GitOps-Community/ • More info on GitOps? Visit www.gitops.community/ • Join the GitOps Community LinkedIn Group: https://www.linkedin.com/groups/13914610/