- https://8086.support/content/23/97/en/how-do-i-boot-pi-zeros-without-sd-cards-cluster-hat_cluster-ctrl.html
- https://8086.support/content/23/97/en/how-do-i-boot-pi-zeros-without-sd-cards-cluster-hat_cluster-ctrl.html
If USB Booting using Sabrant USB/SAS Adaptor, add the following to cmdline.txt (as a "prefix" to anything else)
usb-storage.quirks=152d:1561:u
Uncomment the appropriate USB Port then init clusterhat
sudo vi /etc/default/clusterctrl
sudo clusterctrl init
wget https://dist1.8086.net/clusterctrl/usbboot/bullseye/2022-04-04/2022-04-04-3-bullseye-ClusterCTRL-armhf-lite-usbboot.tar.xz
sudo su
tar -axf ./2022-04-04-3-bullseye-ClusterCTRL-armhf-lite-usbboot.tar.xz -C /var/lib/clusterctrl/nfs/p1/
usbboot-init 1
touch /var/lib/clusterctrl/nfs/p1/boot/ssh
cd /var/lib/clusterctrl/nfs/p1
set +o history
echo "$LOGIN:"$(echo '$PASSWD' | openssl passwd -6 -stdin) > boot/userconf.txt
set -o history
clusterctrl status
clusterctrl on p1
tail -f /var/log/daemon.log /var/log/kern.log
ssh p1.local
or
minicom p1 # Quit minicom: Ctrl+A && Q && [ENTER]
"ip a" should show one "ethupiX" per pi zero (with X pi zero nbr from 1 to 4) "brctl show" should show each zero interface in the bridge
sudo apt update && sudo apt install docker.io
sudo usermod -aG docker pi
docker swarm init
docker swarm join-token manager
docker swarm join-token worker
On the other managers/workers
docker swarm join --token $TOKEN 172.19.181.1:2377
docker service create \
--name=viz \
--publish=8080:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
alexellis2/visualizer-arm:latest
docker service create \
--name http \
-p 80:80 \
alpine:latest \
sh -c "apk update && apk add busybox-extras && hostname > ./index.html && httpd -f"
docker service scale http=5
docker service create \
--name cloudflared \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}
<- Don't work : ERR Couldn't start tunnel error="Error getting origin cert: client didn't specify origincert path"
docker run -d --restart unless-stopped \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}