Project GitOps Architecture

Discover how FluxCD, KEDA and Kubernetes work together to create an automated, scalable and modern deployment platform.

πŸ”§ Main Components

πŸ”„

FluxCD GitOps

Continuous deployment orchestrator that monitors the Git repository and automatically synchronizes the desired state with the Kubernetes cluster. "Git as source of truth" principle.

πŸ“ˆ

KEDA Autoscaling

Event-driven auto-scaling system that adapts the number of pods based on CPU (70%) and memory (80%) metrics. Horizontal scaling from 1 to 10 pods.

☸️

Kubernetes

Container orchestration platform that manages pods, services, configmaps and volumes. Ensures high availability and resilience.

🐳

Container Registry

GitHub Container Registry (GHCR) for storing container images. Automated CI/CD with GitHub Actions for build and push.

πŸ”„ Deployment Flow

πŸ“ Git Commit
β†’
πŸ€– GitHub Actions
β†’
πŸ”„ FluxCD Sync
β†’
☸️ Kubernetes Deploy
β†’
πŸ“ˆ KEDA Scaling

Automated pipeline: From source code to production deployment, without manual intervention.

πŸš€ Detailed Process

1️⃣

Development

Developer modifies code, Kubernetes manifests, or configurations. Commit and push to the main Git repository.

2️⃣

CI/CD Pipeline

GitHub Actions detects the change, builds the Docker image, runs tests, and pushes the image to GHCR with automatic versioning.

3️⃣

GitOps Sync

FluxCD polls the repository every minute, detects changes in /k8s-manifests and automatically applies modifications.

4️⃣

Auto-Scaling

KEDA monitors real-time metrics and dynamically adjusts the number of replicas based on load. Reactive and efficient scaling.

🎯 Architecture Benefits

πŸ“Š Metrics & Monitoring

πŸ“ˆ

KEDA Metrics

CPU, memory, requests/sec monitoring. Configurable thresholds for scaling up/down. Custom metrics supported.

πŸ”

Health Checks

Liveness and readiness probes to ensure pod health. Automatic failure detection.