Files
k8s-starter-pack/talos/patch-controlplane.yaml
T

44 lines
2.2 KiB
YAML
Raw Normal View History

2026-08-22 17:30:45 +01:00
# A patch applied on top of the controlplane.yaml that `talosctl gen config`
# produces (see talos/README.md and docs/02-talos-bootstrap.md for the full
# command). Applied identically to all three control-plane nodes.
2026-08-22 17:30:45 +01:00
#
# --- 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.
2026-08-22 17:30:45 +01:00
#
# >> 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.
#
# --- vip ---
# With three control-plane nodes, "the cluster's API server" isn't one
# fixed machine anymore — it's whichever of the three happen to be up.
# Talos's VIP (Virtual IP) feature solves this: the three nodes
# continuously elect one of themselves to answer on this one shared
# address, and re-elect within seconds if that node goes down. Point
# everything that talks to the cluster (talosctl, kubectl, this repo's
# Application manifests) at the VIP, never at one node's own address —
# that's what makes losing any single node a non-event instead of an
# outage.
#
# Replace both the interface name and the IP below with your real values
# before generating config — see docs/02-talos-bootstrap.md.
#
# >> Ask Claude to help you pick the VIP address — like the MetalLB pool in
# docs/05-metallb.md, it has to be a real, unused address on your LAN,
# outside your DHCP range.
2026-08-22 17:30:45 +01:00
cluster:
allowSchedulingOnControlPlanes: true
machine:
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)
dhcp: true
vip:
ip: 192.168.1.239 # EDIT ME — replace with your chosen VIP address