Documentation
The documentation is presented as a learning tool, allowing the end-user to understand all configuration and deployment aspects of a bare-metal based K3s cluster.
Hardware
The following hardware was used to deploy the cluster:
- 8 x Raspberry Pi 4 Model B with 8GB RAM
- 8 x GeeekPi Isolated PoE HAT for Raspberry Pi 4 Model B
- 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
Network
Prior starting the cluster configuration, the end-user must determine if the network configuration can support load balancing with external IP addresses assigned from a load balancer IP pool . Some retail routers do not have this capability.
Data Encryption
All sensitive data stored in the public repository (passwords, emails, etc.) is safely encrypted with Ansible Vault .
Use the same global password for various encrypted settings in your configuration files. See an example to understand the underlying logic.
Local Environment
Prior starting the cluster configuration, set the local environment for deployments.
Homebrew is used to install all deployment dependencies.
ansible
Install the ansible binary:
brew install ansible ansible-lintsshpass
Install the sshpass binary:
brew install sshpassOS Installation
Each cluster node must have Ubuntu Server 24.04+ LTS (64-bit) OS installed, which is a requirement for Cilium . The required apt package dependencies also changed compared to the previous Ubuntu Server 22.04 LTS release.
Read the OS Installation tutorial on bare-metal infrastructure.
Support
If you encounter problems or want to request a new feature, feel free to open an issue . For general questions or feedback, please use the discussions .