Using k9 or kubectl we drain and cordon a node to remove current workloads and disable scheduling. Then disconnect the Raspberry Pi's power over ethernet (POE) connection. We had a pre-flashed Ubuntu image to install into the Raspberry Pi. Ansible is our configuration management tool - we use it to update Ubuntu, and then download and install k3s.
- k9s: https://k9scli.io/
- K3s: https://k3s.io/
- Ansible: https://www.ansible.com/