This project demonstrates a robust, production-grade Hybrid Cloud Multi-Cluster Kubernetes Infrastructure designed for scalability, high performance, and high availability. It integrates advanced cloud-native technologies to manage, monitor, and deploy applications seamlessly across multiple workload clusters from a centralized management plane.
Figure 1: Kubernetes multi-cluster architecture overview
Figure 2: Multi-cluster GitOps deployment pipeline
- Karmada: Orchestrates multi-cluster application distribution and management.
- Cilium CNI: High-performance networking and security with eBPF technology.
- GitOps (FluxCD & ArgoCD): Automated synchronization of Helm charts and K8s manifests.
- Observability Stack: Centralized monitoring with Thanos, Prometheus, and Grafana for global visibility.
- Infrastructure Components: Lightweight clusters using Kind and K3s, with HAProxy for load balancing.
This repository contains a comprehensive 15-lab series covering the entire setup process:
- Lab 01: Cilium Setup
- Lab 02: Cilium Gateway API
- Lab 03: Simple App Deployment
- Lab 04: Hubble Observability
- Lab 05: Prometheus and Grafana
- Lab 06: Cluster Mesh
- Lab 07: Multi-cluster Setup
- Lab 08: Karmada Setup
- Lab 09: Simple App Propagating
- Lab 10: HAProxy Setup
- Lab 11: Multi-cluster Failover
- Lab 12: Network Policy
- Lab 13: Multi-cluster Monitoring
- Lab 14: Alert Manager
- Lab 15: GitOps (ArgoCD/FluxCD)
- k8s-multicluster-gitops: GitOps Manifests and Helm Charts used for automated deployment in this infrastructure.