No GitOps Pain, No Platform gain: Day 2 Challenges of Managing Kubernetes Fleets with GitOps
03-18, 15:10–15:40 (Europe/Paris), VIP Area

As a company, we manage hundreds of clusters across multiple users. Achieving consistent, repeatable, and verifiable configurations, all while maintaining a single source of truth, is paramount. That's why we are big fans of the GitOps approach, with a special fondness for Flux. However, the journey doesn’t end once you select a GitOps tool; in fact, it has just started.

The “Day 2” problems of GitOps force you to figure out answers to multiple questions: How to structure your git repositories? How to reuse your configuration? And how do you ensure customer separation? In real life, you also have to handle aspects such as security, configuration layout migrations or providing safe extension points for your users. Oh, and even if you answer all the questions, it’s still possible to accidentally delete a cluster in a really fancy way.

In this talk, I want to share our real-life experience resulting from running, structuring, migrating, and, yes, making errors with our GitOps setup.


GitOps has really taken flight recently and more and more companies are adopting the GitOps principles. Still, the journey only starts with deploying a GitOps tool. You have to plan and prepare the structure of your git repositories, do upgrades and migrations, and ensure monitoring and security.

In this session, I want to share our most important learnings we’ve gained at Giant Swarm from solving some of these challenges head-on, while doing Kubernetes fleet management at a large scale for companies like Adidas or Vodafone. We will base our talk on the Flux project, but our learnings are universal and apply to any GitOps tool. Our discussion will include:
Approaches to structuring multi-repository GitOps configs: Explore various methods, weighing up their pros and cons.
How to keep your GitOps configuration DRY, but elastic: How to share, enhance, and lock the configuration, while still allowing flexibility for customers.
Explaining common operations: Learn how to execute the most common duties, like adding a new app or a new tenant, when using a multi-repository setup.
Identifying challenges and areas for improvement: Examine potential pitfalls and opportunities for enhancing our processes.

Łukasz works as a Platform Architect at www.giantswarm.io, in a team responsible for developer experience. He has over 6 years of hands-on Kubernetes experience and 15 years in building and managing backend IT systems. He also completed a Ph.D. thesis about client-centric replication.
His speaking experience includes DockerCon, Rejekts, DevOps Pro, local and scientific conferences.
To find out more about projects he’s involved with, please check https://github.com/piontec.