What is Talos Linux ?
A very versatile Linux distribution, which ships with Kubernetes, with an API which can be accessed with a CLI client.
How to get things going on real hardware that maybe sits around your house, like a Raspberry Pi 5.
brew install zstd talosctlFind out on MacOS diskutil list which disk is your SD-Card.
Download, unpack metal-arm64.raw.zst from https://github.com/talos-rpi5/talos-builder/releases/tag/v1.10.2-rpi5-pre3 and dd to a SD-Card with:
sudo dd if=./metal-arm64.raw of=/dev/disk4 conv=fsync bs=4MPlug-in the SD-Card and the network cable and power up the RPi. Let's assume the RPi gets an IP inside your network and that is 192.168.1.155.
Talos is now in a recovery mode, awaiting 2 more steps, one for configuration and one for boostraping Kubernetes.
mkdir talos-8afb && cd talos-8afb talosctl gen config ll-8afb https://192.168.1.155:6443 \
--with-examples=false \
--with-docs=falsetalosctl generated the YAML configuration under 2 files, a controlplane and a worker YAMLs.
In the controlplane.yaml you need to touch very little things for start. Go over it, set debug: true and persist: true and the disk where Talos config should be persisted.
We are going to use the same SD-card so it's disk: /dev/mmcblk0
And apply it:
talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig apply-config -f ./controlplane.yaml --insecureOnce the configuration is applied, which takes less than 2 minutes, you can verify it:
talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig versiontalosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig bootstrap At this moment also you can follow the Linux kernel logs via:
talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig dmesg -f Or see Talos dashboard:
talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig dashboard export KUBECONFIG="kubeconfig"
talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig kubeconfigVerify with
kubectl get nodes -A -o wide talosctl -n 192.168.1.155 -e 192.168.1.155 --talosconfig=./talosconfig resetAlso use the wipe: true
Lines 19 to 20 in df92dec
Links:
