K3S high-availability cluster, deployed with Ansible.
- 8 x Raspberry Pi 4B with 8GB RAM
- 8 x Samsung PM883 240GB SSD, connected to same USB port
- 8 x SLK Tech Sata to USB cable
- UniFi UDM-SE cloud gateway, for dedicated network management
- UniFi USW-Pro-24-POE switch, powering the Raspberry Pi's
- ArgoCD
- Cilium
- Cloudflare Let's Encrypt certificates deployed with cert-manager
- HAProxy load balancer for controlplanes
- K3S production ready deployment
- Longhorn
- Prometheus Stack
- Renovate
- Sealed Secrets
- Ubuntu LTS 22.04 OS with unattended upgrades enabled
- Automate the k3s cluster upgrades, chart upgrades are functional
- Update Renovate configuration, for automated version upgrades
- Finalize documentation
Install dependencies in MacOS:
brew install ansible ansible-lint
brew tap esolitos/ipa
brew install esolitos/ipa/sshpassUpgrade kubernetes.core collection:
ansible-galaxy collection install -U kubernetes.coreDeploy cluster:
ansible-playbook --ask-vault-pass provisioning.yamlReset cluster:
ansible-playbook --ask-vault-pass reset.yamlEach role has their own dedicated README, for additional details and required settings.
