The repo is home for the code to automate the provisioning and management of my Kubernetes cluster.
- ansible for provisioning & bootstrapping debian servers with K3s.
- flux watches this git repo and applies changes to Kubernetes when they are pushed to the repo.
- flux schemas flux schemas used for yaml validation
- renovate monitors the repo, creating pull requests when it finds updates to dependencies.
- cilium for networking within the cluster and load balancer for exposed services
- cert-manager to request SSL certificates to store as Kubernetes resources
- sops with age to encrypt secrets used in Ansible & Flux
- ingress-nginx: Kubernetes ingress controller used for HTTP reverse proxy of service ingresses
- longhorn: Replicated, persisted storage
- minio: Object Storage for PVC & Database backups
Device | Count | Ram | Operating System | Purpose |
---|---|---|---|---|
Intel NUC11PAHi7 | 1 | 64GB | debian | Control Plane / Worker |
Intel NUC8i5BEH | 1 | 32GB | debian | Control Plane / Worker |
Alienware Aurora | 1 | 24GB | debian | Kubernetes Worker |
Alienware X51 | 1 | 16GB | debian | Control Plane / Worker |
Raspberry Pi 4 | 4 | 8GB | debian | Kubernetes Workers |
Synology 1513+ | 1 | 8GB | - | NAS |
Firewalla Gold | 1 | - | Ubuntu | Router |
Zyxel GS1900-24E Switch | 1 | - | - | Network Switch |
APC SMT1500C | 1 | - | - | UPS |
Thanks to onedr0p and his awesome flux template