Skip to Content

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 .

Important

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.

Note

Homebrew  is used to install all deployment dependencies.

ansible

Install the ansible binary:

brew install ansible ansible-lint

sshpass

Install the sshpass binary:

brew install sshpass

OS 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.

Tip

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 .

Last updated on