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.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
blue_led
custom-playbooks
docs
green_led
hdbrackets v2 of the brackets Mar 16, 2017
images
playbooks @ 598e97b
.gitignore
.gitmodules Get NAT networking setup and the disks formatted. Mar 22, 2017
README.md
inventory

README.md

Cubienetes: A Kubernetes Cluster on Cubieboard2s

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

Parts

Assembly

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

Software

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 192.168.0.1-5 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.