Skip to content

Talos

Talos is an immutable distribution of kubernetes.

Installation

You first need to generate talos secrets (keep it secret !) :

talosctl gen secrets -o secrets.yaml

Generate talos configuration (keep it secret too) :

talosctl gen config \
    --with-secrets secrets.yaml \
    --config-patch @patches/01-machine.yaml \
    --config-patch @patches/02-volumes.yaml \
    --config-patch @patches/03-cluster.yaml \
    --with-examples=false \
    -o rendered/ \
    --force \
    homelab "https://192.168.0.2:6443"

Apply it to your node :

talosctl apply-config \
    --nodes 192.168.0.2 \
    --endpoints 192.168.0.2 \
    --talosconfig=./rendered/talosconfig \
    --mode reboot \
    --insecure \
    --file ./rendered/controlplane.yaml

Bootstrap you node and get you kubeconfig, it can take a few minutes :

talosctl bootstrap \
    --nodes 192.168.0.2 \
    --endpoints 192.168.0.2 \
    --talosconfig=./rendered/talosconfig

talosctl kubeconfig \
    --talosconfig=./rendered/talosconfig \
    --nodes 192.168.0.2 \
    --endpoints 192.168.0.2 \
    --talosconfig=./rendered/talosconfig \
    ./kubeconfig

watch kubectl get nodes

Upgrade

Upgrading your node

Upgrading you node will drain it and restart it. Expect some downtime.

You can upgrade your node using talosctl :

talosctl upgrade \
    --nodes 192.168.0.2 \
    --endpoints 192.168.0.2 \
    --talosconfig=./rendered/talosconfig \
    --image ghcr.io/siderolabs/installer:v1.10.5

Source

Talos documentation