Talos Installation-No Fluff-No Pain

VERY VERY concise of what i did to install talos on 2 nodes

by Connal McInnis

11/19/20242 min read

First you need to create the image you need

This step is vital. go to the image factory for talosctl here: https://factory.talos.dev/ I have intel based beelinks so I need the binary's for the intel amd-86x otherwise it wont even start

Then flash the image to a usb drive

I used ventoy for this but the dd command works fine

Made a directory

mkdir ~/workspace/patches

Make config patches in yaml in a patch folder

┌─[rebooter@archlinux] - [~/workspace/patches] └─[$] <> ls

allow-controlplane-workloads.yaml

cni.yaml

dhcp.yaml

install-disk.yaml

interface-names.yaml

kubeconfig.yaml

kubelet-certificates.yaml

vip.yaml

Generated the secrets

talosctl gen secrets

When generating the config I applied the patches and secrets

└─[$] <> talosctl gen config beeluster https://192.168.1.66:6443 \

--with-secrets secrets.yaml \

--config-patch @patches/allow-controlplane-workloads.yaml \

--config-patch @patches/cni.yaml \

--config-patch @patches/dhcp.yaml \

--config-patch @patches/install-disk.yaml \

--config-patch @patches/interface-names.yaml \

--config-patch @patches/kubelet-certificates.yaml \

--config-patch-control-plane @patches/vip.yaml \ --output rendered/

Made sure the right image was used in the config file and that wipe is true

install: disk: /dev/nvme0n1 # The disk used for installations. # Allows for supplying extra kernel args via the bootloader.

extraKernelArgs: - net.ifnames=0 image: <Facoty made image url> # Allows for supplying the image used to perform the installation.

wipe: True # Indicates if the installation disk should be wiped at installation time.

applied the config to the nodes

┌─[rebooter@archlinux] - [~] └─[$] <> talosctl apply-config -f rendered/controlplane.yaml -n <node ip> --insecure ┌─[rebooter@archlinux] - [~] - └─[$] <> talosctl apply-config -f rendered/controlplane.yaml -n <node ip> --insecure

while the nodes are cooking I configured talosctl

first i needed to configure the endpoints, we need this to connect the talos from your host to the control plane to effectively use the talosctl dashboard command

└─[$] <> talosctl config endpoint <node1 ip> <node2 ip>

Then I like to configure the default node to where the talosctl dashbord command (and other commands) will default to so I Dont have to constantly specify the node ip

└─[$] <> talosctl config node <node1 ip>

then need to make talos pull the config automatically

mkdir ~/.talos cp rendered/talosconfig ~/.talos/config

Kube Bootstrap

Once the node is done installing all you have to do is bootstrap the nodes

talosctl boostrap <node1 ip> talosctl bootstrap <node2 ip>

and then just test by quickly setting up a quick deployment

Resources that really helped me

Mircea Anton: this is the guide i followed the closest Youtube: https://www.youtube.com/watch?v=4_U0KK-blXQ Blog: https://mirceanton.com/posts/2023-11-28-the-best-os-for-kubernetes/

SideroLabs: GREAT resource for learning basics Youtube: https://www.youtube.com/@SideroLabs Website: https://www.siderolabs.com/

Mischa van den Burg: Kinda the inspiration of why I switched from proxmox to kubernetes

Youtube: https://www.youtube.com/@mischavandenburg

---Good video: https://www.youtube.com/watch?v=pfgiZUFUuhg

Talos Install - No Fluff