Home Cluster created with Kubespray on Soyo miniPCs.
The router DHCP range was updated to 192.168.1.50-192.168.1.99.
Static IPs were assigned to the miniPCs by MAC address: 192.168.1.100, 192.168.1.101, and 192.168.1.102.
Static IP assignment only worked using the Asus router mobile app. The web GUI produced an "invalid MAC" error.
Ubuntu Server 24.04 was installed on the Soyo miniPCs using autoinstall.
Ethernet drivers for the Motorcomm ethernet adapter were compiled during the autoinstall process.
This repository was created using guidance from Farhad's video, Kubespray's
integration.md
, and Kubespray Ansible installation docs.
To generate the hosts.yaml
file, the following steps were used:
# Copy sample inventory
# Declare the IPs and hostnames for the nodes
# Generate the hosts.yaml file
# View the generated hosts.yaml
cp -rfp inventory/sample inventory/soycluster
declare -a IPS=(node-0,192.168.1.100 node-1,192.168.1.101 node-2,192.168.1.102)
CONFIG_FILE=inventory/soycluster/hosts.yml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
cat inventory/soycluster/hosts.yml
A virtual environment (soyspray-venv
) was used for dependency management and
is included in .gitignore
to keep environment-specific files out of the
repository. Kubespray was integrated as a submodule in this repository.
# Create virtual environment
# Activate virtual environment
# Install requirements from the kubespray submodule
python3 -m venv soyspray-venv
source soyspray-venv/bin/activate
cd kubespray
pip install -U -r requirements.txt