/k3s-cluster

K3S cluster deployed with Ansible.

Primary LanguageJinjaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

k3s-cluster

K3S high-availability cluster, deployed with Ansible.

K3S: OpenLens

Hardware

  • 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

Used Technologies

TODO

  • Automate the k3s cluster upgrades, chart upgrades are functional
  • Update Renovate configuration, for automated version upgrades
  • Finalize documentation

Ansible

Cluster Setup

Install dependencies in MacOS:

brew install ansible ansible-lint
brew tap esolitos/ipa
brew install esolitos/ipa/sshpass

Upgrade kubernetes.core collection:

ansible-galaxy collection install -U kubernetes.core

Deploy cluster:

ansible-playbook --ask-vault-pass provisioning.yaml

Reset cluster:

ansible-playbook --ask-vault-pass reset.yaml

Roles

Each role has their own dedicated README, for additional details and required settings.