This project provides a comprehensive framework for deploying and managing production-ready Kubernetes clusters on bare-metal and virtual machines. It leverages Ansible automation to create resilient, fully automated K3s environments with minimal configuration effort.
The automation is built around a collection of specialized Ansible roles that handle every aspect of the cluster lifecycle, from initial deployment and configuration to ongoing maintenance and upgrades.
- Core Infrastructure: Fully automated K3s installation on Ubuntu LTS with embedded
etcd
for high availability and HAProxy with Keepalived for Kubernetes API server load balancing - Advanced Networking: Cilium CNI for eBPF-based networking, replacing
kube-proxy
with optimized service load balancing and Gateway API for ingress - DNS Management: CoreDNS for internal cluster DNS resolution and ExternalDNS for automatic external DNS record synchronization
- Package Management: Helm for simplified application deployment and management
- Security: TLS certificate management via
cert-manager
with automatic renewal and integration with external DNS providers - Storage: Distributed block storage with Longhorn providing volume replication and backup capabilities
- Observability: Complete monitoring stack with Metrics Server for core resource metrics, VictoriaMetrics for advanced metrics collection, AlertManager for alert handling and routing, VictoriaLogs for centralized logging, and Grafana for visualization
- GitOps: ArgoCD for declarative application deployment following GitOps principles
- Maintenance: Coordinated node updates with Kured for minimizing disruption during system maintenance
Visit the Wiki (powered by Hextra), for detailed configuration instructions.