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

53 lines
2.4 KiB
YAML

# 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.
#
# --- 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.
#
# --- 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 and the NetBird
# system extension used for private overlay connectivity. Keep this custom
# installer reference during upgrades or the board-specific boot support and
# NetBird binary may be lost.
#
# --- 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.
cluster:
allowSchedulingOnControlPlanes: false
machine:
install:
disk: /dev/mmcblk0
image: "factory.talos.dev/metal-installer/\
d093bb68c464b87cc637765535dde5f68fbb040da44280617dd11a42d6c03988:v1.13.8"
network:
interfaces:
# 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: 10.10.10.210