Skip to content
Cubienetes: A Kubernetes Cluster on Cubieboard2s
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
hdbrackets v2 of the brackets Mar 16, 2017
playbooks @ 598e97b
.gitmodules Get NAT networking setup and the disks formatted. Mar 22, 2017

Cubienetes: A Kubernetes Cluster on Cubieboard2s

This is a project to build a home 5-node Kubernetes cluster using Cubieboards.



First versions of the hard disk brackets didn't quite fit:

First partial assembly

I did a full build to get a handle on the cabling too:

First full assembly

Problems were:

  • The SSD mounting hole pitch was off by 0.5mm.
  • The walls around the pillars meant the distance between the pillars was too small.
  • The bore of all the holes (3mm) was too tight for M3 threaded rod and needed drilling out. Surprisingly the Shapeways white plastic took this quite well.

So I created & new design and ordered that:

Second partial assembly

And with the router & PSU double-sided-sticky taped on, and cables all cable-tied:

Second full assembly


Operating System

Manual setup

For ansible to work, I setup password-less ssh:

mkdir .ssh
chmod 700 ~/.ssh
echo "<REDACTED>" > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

I did this manually. I also statically assigned IP addresses to the Cubieboards manually. The rest was configured with ansible.

Automated setup

I designated the first Cubieboard as the "master", and set it up to do NAT routing & DNS as it also has a WiFi adapter.

ansible-playbook --inventory-file=inventory --user=root custom-playbooks/networking.yaml

The disks got LVM & ext4 installed and mounted at /mnt/countainers:

ansible-playbook --inventory-file=inventory --user=root custom-playbooks/disks.yaml

And the hostnames were all set and put in /etc/hosts:

ansible-playbook --inventory-file=inventory --user=root custom-playbooks/hostname.yaml

Docker Daemon

ansible-playbook --inventory-file=inventory --user=root custom-playbooks/docker.yaml
You can’t perform that action at this time.