- Access to your router/network settings to check the Pi's connectivity & IP addresses
- Raspberry Pi Imager
- Ansible
- Python 3
- Install the Raspberry Pi OS on each Pi using the Raspberry Pi Imager
- During the installation process pay special attention to the OS Customization section
- Set a host name
- Set a username
- Set a password
- Ensure only SSH is enabled, disable Wi-Fi (if using Ethernet)
- Tip: using sequential numbering helps keep track of each node
- _ex. pi-1, pi-2, pi-3 for a 3 node cluster
- In your network settings, find the IP address of each Pi and make a note of it
- In your terminal, ping each pi to ensure connectivity
ping -c 5 <IP ADDRESS>
- SSH into each Pi to ensure you can connect
ssh <USERNAME>@<IP ADDRESS>- The default username is
piand the default password israspberryif you chose the defaults during the installation process. Otherwise this is the username and password you set during the OS Customization process.
- While SSH'd into each Pi, run the following command to update the OS
sudo rpi-update
- Once the OS is updated, reboot the Pi
sudo reboot
- Repeat this process for each Pi in your cluster
- Rename the
inventory.templatefile toinventoryand update the IP addresses & credentials of each Pi in your cluster - Run the ping test to ensure Ansible can connect to each Pi
ansible-playbook -i inventory.yml ping.yml
- You should see something like this:

- Run the
setup.ymlplaybook to install the base configuration on each Piansible-playbook -i inventory.yml setup.yml
- Run the
configure_ip.ymlplaybook to configure the static IP addresses on each Piansible-playbook -i inventory.yml configure_ip.yml
- Run the
configure_ssh.ymlplaybook to enable SSH keys (password-less login) on each Piansible-playbook -i inventory.yml configure_ssh.yml
- Run the
install_ansible.ymlplaybook to install Ansible v8.0+ on the master nodeansible-playbook -i inventory.yml install_ansible.yml
- Use the official k3s Ansible playbook to install k3s on your cluster
- It is included in this repository as a submodule