Adapt Talos config for five-node mixed architecture cluster

This commit is contained in:
2026-09-02 22:50:34 +01:00
parent 110bd97cca
commit a5ddf11992
4 changed files with 68 additions and 32 deletions
+21 -14
View File
@@ -2,18 +2,19 @@
# produces (see talos/README.md and docs/02-talos-bootstrap.md for the full
# command). Applied identically to all three control-plane nodes.
#
# --- allowSchedulingOnControlPlanes ---
# Talos's generated defaults assume control-plane nodes only run the
# Kubernetes control plane itself (API server, scheduler, etcd, etc.) and
# never your actual workloads — normal practice, so a workload crashing
# never has a chance to take the control plane down with it. This repo's
# three nodes are deliberately both control plane AND worker at once (no
# separate worker nodes), to get real multi-node resilience without needing
# more than three machines. This one field undoes the default restriction.
# --- control-plane-only scheduling ---
# These Raspberry Pis run the Kubernetes API, scheduler, and etcd, but not
# ordinary application Pods. Keeping workloads on the two dedicated workers
# prevents a busy or broken app from competing with the cluster's own control
# plane. `false` is Talos's normal default, repeated explicitly because this
# five-node layout depends on that separation.
#
# >> Ask Claude: "why does Kubernetes normally keep workloads off control
# plane nodes, and what am I giving up by turning that off here?" if you
# want the reasoning before you turn it off.
# --- install image ---
# All three control planes are Raspberry Pi 4 systems currently installed on
# their microSD (`mmcblk0`). The Image Factory schematic contains the
# `rpi_generic` ARM64 overlay needed to boot this hardware. Keep this custom
# installer reference during upgrades or the board-specific boot support may
# be lost.
#
# --- vip ---
# With three control-plane nodes, "the cluster's API server" isn't one
@@ -33,11 +34,17 @@
# docs/05-metallb.md, it has to be a real, unused address on your LAN,
# outside your DHCP range.
cluster:
allowSchedulingOnControlPlanes: true
allowSchedulingOnControlPlanes: false
machine:
install:
disk: /dev/mmcblk0
image: factory.talos.dev/metal-installer/ee21ef4a5ef808a9b7484cc0dda0f25075021691c8c09a276591eedb638ea1f9:v1.13.8
network:
interfaces:
- interface: eth0 # EDIT ME — match your node's real NIC name (`talosctl get links --insecure --nodes <NODE_IP>` from maintenance mode will show it)
# Raspberry Pi 4's built-in Ethernet interface is named `end0` by
# Talos. DHCP reservations keep .200-.202 stable while still letting
# DHCP supply the gateway and DNS settings.
- interface: end0
dhcp: true
vip:
ip: 192.168.1.239 # EDIT ME — replace with your chosen VIP address
ip: 10.10.10.210