Talos Installation-No Fluff-No Pain
VERY VERY concise of what i did to install talos on 2 nodes
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