Skip to content

Manual setup

Network

Pfsense

  • Connect to DMZ 192.168.192.0/24
  • Add DHCP server: range(60-99), but fix agent IPs before add to the cluster.
  • only for controller HA - Create lb for apiserver (used HaProxy: increase client, server and tunnel* timeouts to 86400000)
  • Add DNS entry

tunnel*: must be added in backend->advanced settings->backend pass thru as timeout tunnel 86400s

Servers

Flash SDs

Use script from scripts/prepare_sdcard.sh to prepare instances. amd64 and grigri should be installed manually.

amd64 instances

Installed with Ubuntu: select ubuntu server (non minimized) and follow the process.

odroid-hc4

Important: To be able to boot clean Armbian mainline based u-boot / kernel experiences, you need to remove incompatible Petitboot loader that is shipped with the board.

Bootloader Bypass Method

This is now the preferred method. It is easier, and be performed without a display via SSH

Install an SD Card with a fresh Armbian image Flip device upside down With a tool, press and hold down the black button. Continue holding button and plug in power to device Login to console or SSH and perform follow normal setup procedures Verify system can access SPI FLASH device and Erase Reboot

odroidhc4:~:# ls -ltr /dev/mtd*
crw------- 1 root root 90, 0 Nov  6 21:38 /dev/mtd0
brw-rw---- 1 root disk 31, 0 Nov  6 21:38 /dev/mtdblock0
crw------- 1 root root 90, 1 Nov  6 21:38 /dev/mtd0ro
odroidhc4:~:# flash_erase /dev/mtd0 0 0
Erasing 4 Kibyte @ fff000 -- 100 % complete
odroidhc4:~:#

Naming convention

All nodes must be named with prefix k8s-{hardware_tag}-{numerical_id}. For example:

  • k8s-odroid-hc4-1
  • k8s-amd64-1

Also, consider their use case and performance profile. For example, for Ceph nodes:

  • k8s-sas-ssd-1
  • k8s-hot-storage-2

Troubleshooting

Same mac problem

Editing /boot/ArmbianEnv.txt didn't work.

/etc/network/interfaces:

...
auto eth0
iface eth0 inet dhcp
  hwaddress ether b6:09:a4:06:00:8b

No python interpreter found

ln -s /usr/bin/python3 /usr/bin/python

Setup

Use playbook playbooks/install/so.yml to setup servers.

make first-boot

Note: Armbian default user/password -> root/1234

Cluster

playbooks/install/cluster.yml to setup Kubernetes.

ansible-playbook playbooks/install/k8s.yml --become