export CONTROL_PLANE_IP=192.168.1.95

Using talhelper (recommended)

See https://a-cup-of.coffee/blog/talos/

Using talosctl

Generate secrets

talosctl gen secrets

Generate config

talosctl gen config dev-talos-cluster https://$CONTROL_PLANE_IP:6443 --output-dir _out --install-image factory.talos.dev/installer/ce4c980550dd2ab1b17bbf2b08801c7eb59418eafe8f279833297925d67c7515:v1.8.3  --with-secrets ./secrets.yaml

For control plane

talosctl apply-config --insecure --nodes $CONTROL_PLANE_IP --file _out/controlplane.yaml
 
talosctl bootstrap --talosconfig ./_out/talosconfig  --nodes $CONTROL_PLANE_IP -e $CONTROL_PLANE_IP
 
talosctl kubeconfig  --talosconfig ./_out/talosconfig  --nodes $CONTROL_PLANE_IP -e $CONTROL_PLANE_IP

For worker

export WORKER_IP=192.168.1.4

talosctl apply-config --insecure -n $WORKER_IP -e $WORKER_IP --file _out/worker.yaml

Define nodes / endpoints

Ex for dev-talos-cluster

talosctl --talosconfig=./_out/talosconfig config endpoint 192.168.1.95 192.168.1.50 192.168.1.101 # Control plane
talosctl --talosconfig=./_out/talosconfig config node 192.168.1.95 192.168.1.50 192.168.1.101 192.168.1.4 192.168.1.130 # controle plane + nodes
talosctl config merge ./_out/talosconfig

Ex for prod-talos-cluster

talosctl --talosconfig=./_out/talosconfig config endpoint 192.168.1.139 192.168.1.149 192.168.1.90 # Control plane
talosctl --talosconfig=./_out/talosconfig config node 1192.168.1.139 192.168.1.149 192.168.1.90 192.168.1.32 192.168.1.33 # controle plane + nodes
talosctl config merge ./_out/talosconfig