This is all about building a simple Raspberries Kubernetes cluster with k3s and Ansible. This project does not handle HA for the Kubernetes cluster and it is supposed to work with :
- 1 master node
- n worker node(s)
- Berries should run a Debian like Linux distribution
- Berries should use an ethernet connection
- SSH access to your berries via SSH keys
- Ansible on your local machine
-
Clone the repo
git clone git@github.com:rneuter/berries.git
-
Update
berries.yml
inventaire with your current setup (it is recommended to use a fix IP address for each berry to not have to update this file several times) -
Test your setup
ansible all -i berries.yml -m ping node02 | SUCCESS => { "changed": false, "ping": "pong" } master01 | SUCCESS => { "changed": false, "ping": "pong" } node01 | SUCCESS => { "changed": false, "ping": "pong" }
# Check what tasks will run on berries
ansible-playbook cluster.yml -i berries.yml --list-tasks
# Run all tasks
ansible-playbook cluster.yml -i berries.yml
# Run all tasks with the tag setup
ansible-playbook cluster.yml -i berries.yml --tags setup
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.