SlideShare a Scribd company logo
1
1
Implementing Flux for Scale
with Soft Multi-tenancy
Russ Parmer
Senior Engineer, Weaveworks
Priyanka Ravi
Developer Experience Engineer, Weaveworks
2
2
Weaveworks is founded on open source
● Flux & Flagger (CNCF): GitOps and Progressive Delivery for k8s
● Weave GitOps: A powerful extension & web UI for Flux
● Weave GitOps Terraform Controller: Flux controller for Terraform
resources
● GitOps Tools for Flux: VS Code extension
weave.works
3
3
● Operating model for cloud native applications such as Kubernetes
● Utilizes a version controlled system (Commonly Git) as the “single
source of truth”
● Enables continuous delivery through automated deployment,
monitoring, and management by a version controlled system
● Managing your infrastructure and applications declaratively
What is GitOps
Source: GitOps Working Group
https://opengitops.dev/
5
5
Individuals, teams, and organizations who implement GitOps experience
many benefits, including:
● Stronger Security Guarantees
● Increased Developer & Operational Productivity
● Enhanced Developer Experience
● Improved Stability
● Higher Reliability
● Consistency and Standardization
Why GitOps
6
6
● A git centric package manager for your applications
● A set of continuous and progressive delivery solutions for Kubernetes
What is Flux
fluxcd.io
7
7
🤝 Flux provides GitOps for both apps and infrastructure
🤖 Just push to Git and Flux does the rest
🔩 Flux works with your existing tools
☸ Flux works with any Kubernetes and all common Kubernetes tooling
🤹Flux does Multi-Tenancy (and “Multi-everything”)
📞 Flux alerts and notifies
👍 Users trust Flux
💖 Flux has a lovely community that is very easy to work with!
Flux in Short fluxcd.io
8
8
● Reduces developer burden
● Extensible
● Comes with out of the box support for Kustomize and Helm
● Designed For Kubernetes
Benefits of Flux
fluxcd.io
9
9
Overview of Flux
Source
controller
Notification
Controller
Image Reflector
& Automation
Controller
Flux
Flux is a set of
Kubernetes Controllers
fluxcd.io
Terraform
Controller
Helm
Controller
Kustomize
controller
VS Code
Extension
10
10
What Flux’s Controllers do
Source Controller
- Fetch resources and store as
artifacts
Kustomize Controller
- Apply manifests, Run
manifest generation using
kustomize
Helm Controller
- Deployment of Helm Charts
Notification Controller
- Notification Dispatch
Image Reflector Controller
- Reflects Image metadata for
Automation Controller
Image Automation Controller
- Updates YAML when new
container images are
available
fluxcd.io
11
11
● Helm
● Kustomize
● Prometheus
● Grafana
● Jenkins
● EKS
● AKS
● GCP
Flux Works with Other Tools
● Traefik
● Falco
● GitHub, GitLab, Bitbucket,
s3-compatible buckets
● Terraform
● …and more!!!
fluxcd.io
12
12
● Makes life easier
● Multi-tenancy
● DependsOn
● Helm integration
● Notifications and Alerts
● Bootstrap
● Flux CLI
Reasons I and Others Love Flux fluxcd.io
13
13
● There are two different forms of multi-tenancy
○ Hard multi-tenancy
■ Every tenant has their own cluster
○ Soft multi-tenancy
■ A cluster is shared across many different tenants
■ Tenants need to be isolated
What is Multi-Tenancy
14
14
● Multi-tenancy lock down*
○ Ensure relevant controllers have cross namespace references disabled via
`--no-cross-namespace-refs=true`
● Resource Isolation
○ Ensure additional Flux instances are deployed when mission critical
tenants/workloads must be assured.
● Node Isolation
○ Ensure worker nodes are not being shared across tenants and the Flux
components.
● Network Isolation
○ Ensure the Container Network Interface (CNI) being used in the cluster
supports Network Policies.
Best Practices for Multi-Tenancy
15
15
● Add `--no-cross-namespace-refs=true`
flag
○ Allow Flux to only reconcile Flux
resources that exist in the same
namespace
● Add `--default-service-account=default`
flag
○ Default Kustomization and HelmRelease
objects to not use the cluster scoped
service account
● Set the flux-system Kustomization
resource to use correct service account
○ This still needs cluster level access and
should not use the ‘default’ service
account
Enable Tenant Isolation for Flux
16
Confidential do not distribute 16
Demo Time!
17
17
Next Steps & Resources
● Try it yourself! Flux Docs: fluxcd.io/flux
○ Flux Multi-cluster setup:
■ https://fluxcd.io/flux/get-started/#multi-cluster-setup
■ https://github.com/fluxcd/flux2-kustomize-helm-example
○ Additional Best Practices for Shared Cluster Multi-tenancy:
https://fluxcd.io/flux/security/best-practices/#additional-best-practices-for
-shared-cluster-multi-tenancy
○ Flux Bootsrap Cheatsheet: https://fluxcd.io/flux/cheatsheets/bootstrap
● Kyverno Docs to Generate Flux Multi-tenant Resources
○ https://kyverno.io/policies/flux/generate-flux-multi-tenant-resources/gene
rate-flux-multi-tenant-resources/
18
Confidential do not distribute 18
weave.works
Thank you

More Related Content

PDF
GitOps Testing in Kubernetes with Flux and Testkube.pdf
PDF
The Power of GitOps with Flux & GitOps Toolkit
PDF
Intro to GitOps & Flux.pdf
PDF
Introduction to Tekton
PDF
Six Signs You Need Platform Engineering
PDF
An Introduction to Kubernetes
PPTX
CICD Pipeline Using Github Actions
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
GitOps Testing in Kubernetes with Flux and Testkube.pdf
The Power of GitOps with Flux & GitOps Toolkit
Intro to GitOps & Flux.pdf
Introduction to Tekton
Six Signs You Need Platform Engineering
An Introduction to Kubernetes
CICD Pipeline Using Github Actions
Introduction to Gitlab | Gitlab 101 | Training Session

What's hot (20)

PDF
Intro to GitOps with Weave GitOps, Flagger and Linkerd
PDF
Service mesh(istio) monitoring
PPTX
PPTX
GitOps w/argocd
PPTX
Introduction to Helm
PPTX
Cloud Native Apps with GitOps
PDF
Ansible
PPTX
Adopting OpenTelemetry
PDF
Gitops: the kubernetes way
PPT
Jenkins Overview
PDF
DevOps를 가속화하는 플랫폼 엔지니어링
PDF
Kubernetes: A Short Introduction (2019)
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
PDF
Cloud Native Landscape (CNCF and OCI)
PDF
Continuous Integration/Deployment with Gitlab CI
PDF
Gitlab, GitOps & ArgoCD
PPTX
Why kubernetes matters
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
PDF
Combining Logs, Metrics, and Traces for Unified Observability
PDF
WTF is GitOps and Why You Should Care?
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Service mesh(istio) monitoring
GitOps w/argocd
Introduction to Helm
Cloud Native Apps with GitOps
Ansible
Adopting OpenTelemetry
Gitops: the kubernetes way
Jenkins Overview
DevOps를 가속화하는 플랫폼 엔지니어링
Kubernetes: A Short Introduction (2019)
Free GitOps Workshop + Intro to Kubernetes & GitOps
Cloud Native Landscape (CNCF and OCI)
Continuous Integration/Deployment with Gitlab CI
Gitlab, GitOps & ArgoCD
Why kubernetes matters
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Combining Logs, Metrics, and Traces for Unified Observability
WTF is GitOps and Why You Should Care?
Ad

Similar to Implementing Flux for Scale with Soft Multi-tenancy (20)

PDF
GitOps & Flux - A Refresher with Priyanka Ravi
PDF
Get started with gitops and flux
PDF
KubeCon 2022 EU Flux Security.pdf
PDF
20221130 - Luxembourg HUG Meetup
PDF
WTF is GitOps & Why Should You Care?
PDF
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
PDF
Free GitOps Workshop
PDF
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
PDF
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
PDF
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
PDF
Weave AI Controllers (Weave GitOps Office Hours)
PDF
How to manage Kubernetes at scale with just git
PDF
KubeCon NA 2024_ Operator Framework Maintainer Track-1.pdf
PDF
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
PDF
The Story of Flux Reaching Graduation in the CNCF
PPTX
Introduction to kubernetes
PDF
reBuy on Kubernetes
PDF
Top 10 Kubernetes Native Java Quarkus Features
PDF
Flux is incubating + the road ahead
PPTX
Toronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptx
GitOps & Flux - A Refresher with Priyanka Ravi
Get started with gitops and flux
KubeCon 2022 EU Flux Security.pdf
20221130 - Luxembourg HUG Meetup
WTF is GitOps & Why Should You Care?
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Free GitOps Workshop
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weave AI Controllers (Weave GitOps Office Hours)
How to manage Kubernetes at scale with just git
KubeCon NA 2024_ Operator Framework Maintainer Track-1.pdf
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
The Story of Flux Reaching Graduation in the CNCF
Introduction to kubernetes
reBuy on Kubernetes
Top 10 Kubernetes Native Java Quarkus Features
Flux is incubating + the road ahead
Toronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptx
Ad

More from Weaveworks (20)

PDF
Flamingo: Expand ArgoCD with Flux (Office Hours)
PDF
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
PDF
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
PDF
Flux Beyond Git Harnessing the Power of OCI
PDF
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
PDF
How to Avoid Kubernetes Multi-tenancy Catastrophes
PDF
Building internal developer platform with EKS and GitOps
PDF
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
PDF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
PDF
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
PDF
Flux’s Security & Scalability with OCI & Helm Slides.pdf
PDF
Flux Security & Scalability using VS Code GitOps Extension
PDF
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
PDF
Robust Network Security and Observability with GitOps and Cilium
PDF
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
PDF
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
PDF
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
PDF
Security & Resiliency of Cloud Native Apps with Weave GitOps & Tetrate Servic...
PDF
DevOps Automation with GitOps: Consistent and Secure End to End Deployments
PDF
Trusted Application Delivery: Achieving Ultimate Security
Flamingo: Expand ArgoCD with Flux (Office Hours)
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Flux Beyond Git Harnessing the Power of OCI
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
How to Avoid Kubernetes Multi-tenancy Catastrophes
Building internal developer platform with EKS and GitOps
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Flux Security & Scalability using VS Code GitOps Extension
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Robust Network Security and Observability with GitOps and Cilium
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Building a Security First Approach Across Hybrid Cloud with GitOps and Policy...
Security & Resiliency of Cloud Native Apps with Weave GitOps & Tetrate Servic...
DevOps Automation with GitOps: Consistent and Secure End to End Deployments
Trusted Application Delivery: Achieving Ultimate Security

Recently uploaded (20)

PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
top salesforce developer skills in 2025.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Nekopoi APK 2025 free lastest update
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Transform Your Business with a Software ERP System
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
history of c programming in notes for students .pptx
PPTX
assetexplorer- product-overview - presentation
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Computer Software and OS of computer science of grade 11.pptx
Design an Analysis of Algorithms II-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
top salesforce developer skills in 2025.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Nekopoi APK 2025 free lastest update
Understanding Forklifts - TECH EHS Solution
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Transform Your Business with a Software ERP System
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PTS Company Brochure 2025 (1).pdf.......
history of c programming in notes for students .pptx
assetexplorer- product-overview - presentation
Odoo Companies in India – Driving Business Transformation.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Upgrade and Innovation Strategies for SAP ERP Customers
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Computer Software and OS of computer science of grade 11.pptx

Implementing Flux for Scale with Soft Multi-tenancy

  • 1. 1 1 Implementing Flux for Scale with Soft Multi-tenancy Russ Parmer Senior Engineer, Weaveworks Priyanka Ravi Developer Experience Engineer, Weaveworks
  • 2. 2 2 Weaveworks is founded on open source ● Flux & Flagger (CNCF): GitOps and Progressive Delivery for k8s ● Weave GitOps: A powerful extension & web UI for Flux ● Weave GitOps Terraform Controller: Flux controller for Terraform resources ● GitOps Tools for Flux: VS Code extension weave.works
  • 3. 3 3 ● Operating model for cloud native applications such as Kubernetes ● Utilizes a version controlled system (Commonly Git) as the “single source of truth” ● Enables continuous delivery through automated deployment, monitoring, and management by a version controlled system ● Managing your infrastructure and applications declaratively What is GitOps
  • 4. Source: GitOps Working Group https://opengitops.dev/
  • 5. 5 5 Individuals, teams, and organizations who implement GitOps experience many benefits, including: ● Stronger Security Guarantees ● Increased Developer & Operational Productivity ● Enhanced Developer Experience ● Improved Stability ● Higher Reliability ● Consistency and Standardization Why GitOps
  • 6. 6 6 ● A git centric package manager for your applications ● A set of continuous and progressive delivery solutions for Kubernetes What is Flux fluxcd.io
  • 7. 7 7 🤝 Flux provides GitOps for both apps and infrastructure 🤖 Just push to Git and Flux does the rest 🔩 Flux works with your existing tools ☸ Flux works with any Kubernetes and all common Kubernetes tooling 🤹Flux does Multi-Tenancy (and “Multi-everything”) 📞 Flux alerts and notifies 👍 Users trust Flux 💖 Flux has a lovely community that is very easy to work with! Flux in Short fluxcd.io
  • 8. 8 8 ● Reduces developer burden ● Extensible ● Comes with out of the box support for Kustomize and Helm ● Designed For Kubernetes Benefits of Flux fluxcd.io
  • 9. 9 9 Overview of Flux Source controller Notification Controller Image Reflector & Automation Controller Flux Flux is a set of Kubernetes Controllers fluxcd.io Terraform Controller Helm Controller Kustomize controller VS Code Extension
  • 10. 10 10 What Flux’s Controllers do Source Controller - Fetch resources and store as artifacts Kustomize Controller - Apply manifests, Run manifest generation using kustomize Helm Controller - Deployment of Helm Charts Notification Controller - Notification Dispatch Image Reflector Controller - Reflects Image metadata for Automation Controller Image Automation Controller - Updates YAML when new container images are available fluxcd.io
  • 11. 11 11 ● Helm ● Kustomize ● Prometheus ● Grafana ● Jenkins ● EKS ● AKS ● GCP Flux Works with Other Tools ● Traefik ● Falco ● GitHub, GitLab, Bitbucket, s3-compatible buckets ● Terraform ● …and more!!! fluxcd.io
  • 12. 12 12 ● Makes life easier ● Multi-tenancy ● DependsOn ● Helm integration ● Notifications and Alerts ● Bootstrap ● Flux CLI Reasons I and Others Love Flux fluxcd.io
  • 13. 13 13 ● There are two different forms of multi-tenancy ○ Hard multi-tenancy ■ Every tenant has their own cluster ○ Soft multi-tenancy ■ A cluster is shared across many different tenants ■ Tenants need to be isolated What is Multi-Tenancy
  • 14. 14 14 ● Multi-tenancy lock down* ○ Ensure relevant controllers have cross namespace references disabled via `--no-cross-namespace-refs=true` ● Resource Isolation ○ Ensure additional Flux instances are deployed when mission critical tenants/workloads must be assured. ● Node Isolation ○ Ensure worker nodes are not being shared across tenants and the Flux components. ● Network Isolation ○ Ensure the Container Network Interface (CNI) being used in the cluster supports Network Policies. Best Practices for Multi-Tenancy
  • 15. 15 15 ● Add `--no-cross-namespace-refs=true` flag ○ Allow Flux to only reconcile Flux resources that exist in the same namespace ● Add `--default-service-account=default` flag ○ Default Kustomization and HelmRelease objects to not use the cluster scoped service account ● Set the flux-system Kustomization resource to use correct service account ○ This still needs cluster level access and should not use the ‘default’ service account Enable Tenant Isolation for Flux
  • 16. 16 Confidential do not distribute 16 Demo Time!
  • 17. 17 17 Next Steps & Resources ● Try it yourself! Flux Docs: fluxcd.io/flux ○ Flux Multi-cluster setup: ■ https://fluxcd.io/flux/get-started/#multi-cluster-setup ■ https://github.com/fluxcd/flux2-kustomize-helm-example ○ Additional Best Practices for Shared Cluster Multi-tenancy: https://fluxcd.io/flux/security/best-practices/#additional-best-practices-for -shared-cluster-multi-tenancy ○ Flux Bootsrap Cheatsheet: https://fluxcd.io/flux/cheatsheets/bootstrap ● Kyverno Docs to Generate Flux Multi-tenant Resources ○ https://kyverno.io/policies/flux/generate-flux-multi-tenant-resources/gene rate-flux-multi-tenant-resources/
  • 18. 18 Confidential do not distribute 18 weave.works Thank you