Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Fleets of Kubernetes Clusters with GitOps

Managing Fleets of Kubernetes Clusters with GitOps

VSHN AG, from Zürich, has a small team of around 35 full-time DevOps engineers. They manage thousands of Kubernetes and OpenShift clusters 24/7 on behalf of their customers using the GitOps approach. This helps them ensure that applications, settings, and security configurations are up-to-date at all times. At VSHN we have created our own "secret sauce", a suite of open-source tools called Project Syn to achieve what was previously considered unfeasible. Project Syn is extensible, with hundreds of components ready to use for the most remote use cases. In this session, aimed at DevOps and Kubernetes engineers, you will learn how to use Project Syn to maintain your fleets of Kubernetes clusters using a 100% GitOps approach.

Presentation at Hiphops Automation Week, January 2024. Slides generated with presenterm.

Adrian Kosmaczewski

January 25, 2024
Tweet

More Decks by Adrian Kosmaczewski

Other Decks in Technology

Transcript

  1. Managing Fleets of Kubernetes Clusters with GitOps ██ Adrian Kosmaczewski,

    Developer Relations, VSHN ▓▓▓ HipHops Automation Week, January 25th, 2024 ████████
  2. About Adrian • In charge of Developer Relations at VSHN

    AG • Developer since 1996 • O'Reilly book author • LinkedIn Learning instructor • https://akos.ma/ ████████████████
  3. VSHN • Pronounced ˈvɪʒn – like "vision" • "The DevOps

    Company" • Founded 2014 • Switzerland's leading DevOps, Docker, Kubernetes, OpenShift and 24/7 cloud operations partner • 45 VSHNeers, ~35 DevOps engineers • https://vshn.ch ████████████████████████
  4. Evolution • 1995: Server • 2000: Servers as pets •

    2005: Servers as cattle (VMs) • 2010: VMs as cattle (Containers) • 2015: Containers as cattle (Kubernetes) • 2020: Kubernetes as cattle (Federations) • 2025: Federations as cattle (???) ███████████████████████████████████████
  5. What is Project Syn? ▍ Pre-integrated set of tools to

    provision, update, ▍ backup, observe, and react/alert production applications ▍ on Kubernetes and in the cloud. ▍ ▍ It supports DevOps through full self-service and automation ▍ using containers, Kubernetes, and GitOps. ███████████████████████████████████████████████
  6. Open Source ▓▓▓ Websites • https://syn.tools • https://hub.syn.tools • https://github.com/projectsyn

    ▓▓▓ Based upon • Argo CD • Kapitan • Vault ██████████████████████████████████████████████████████
  7. Major Components Name │ Latest Version │ Namespace │ Language

    │ Function ────────────────────┼────────────────┼────────────┼──────────┼───────────────────────────────────────────────────── Lieutenant Operator │ v1.5.0 │ lieutenant │ Go │ Central catalog of clusters and tenants Lieutenant API │ v0.11.0 │ lieutenant │ Go │ Steward │ v0.11.0 │ syn │ Go │ In-cluster agent Commodore │ v1.20.0 │ │ Python │ Command-line tool to manipulate clusters with GitOps ██████████████████████████████████████████████████████████████████████
  8. Custom Resource Definitions $ kubectl -n lieutenant get tenants NAME

    DISPLAY NAME AGE t-muddy-frog-1637 Tutorial Tenant 63m $ kubectl -n lieutenant get clusters NAME DISPLAY NAME TENANT AGE c-holy-wave-1079 Kind cluster t-muddy-frog-1637 60m c-tremendous-thing-954 K3s cluster t-muddy-frog-1637 58m c-wandering-leaf-7233 Minikube cluster t-muddy-frog-1637 63m █████████████████████████████████████████████████████████████████████████████████████
  9. Features • Multi-Cluster and Multi-Tenant Management • Full GitOps Operations

    • Configuration Management • Secret Management • Service Provisioning ████████████████████████████████████████████████████████████████████████████████████████████████████
  10. Summary • … organizes fleets of Kubernetes clusters into tenants

    • … uses GitOps to distribute applications and configuration • … can be extended using Commodore Components • … compatible with all Kubernetes distributions • … is 100% open source ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
  11. Thanks! ▓▓▓ Neugasse 10 – 8005 Zürich – Switzerland –

    https://vshn.ch ▓▓▓ [email protected] ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████