Move to a three-node cluster with a Talos VIP; add Longhorn
Every node is now both control plane and worker, giving real tolerance for losing any single machine (etcd quorum needs 3, not 1). A Talos VIP gives the cluster one stable address regardless of which node answers. Also pre-installs Longhorn for replicated storage, backed by a Talos UserVolume on each node's second disk (>=900GB, non-system) rather than the default path — mirroring the pattern from the homescale repo. Docs renumbered to make room for 06-longhorn.md; checklist, glossary, network map, and CLAUDE.md's guided-bootstrap instructions updated to match, including asking the user for node IPs, VIP, and disk info before generating any Talos config. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
92c3ad3191
commit
110bd97cca
@@ -0,0 +1,22 @@
|
||||
# Values for the upstream Longhorn chart, nested under `longhorn:` (the
|
||||
# dependency's name in Chart.yaml).
|
||||
longhorn:
|
||||
defaultSettings:
|
||||
# Must match the mount path from the UserVolumeConfig in
|
||||
# talos/patch-longhorn.yaml (/var/mnt/<name>) — this is what points
|
||||
# Longhorn at the dedicated data disk instead of its own default path
|
||||
# on the root filesystem, which on Talos is ephemeral/unsuited for
|
||||
# real data anyway.
|
||||
defaultDataPath: /var/mnt/longhorn
|
||||
# Longhorn's own headroom settings, kept conservative: stop scheduling
|
||||
# new replicas onto a disk once free space drops below these
|
||||
# thresholds, so the cluster degrades gracefully instead of actually
|
||||
# filling a disk.
|
||||
storageMinimalAvailablePercentage: 25
|
||||
storageReservedPercentageForDefaultDisk: 30
|
||||
preUpgradeChecker:
|
||||
# Longhorn's own pre-upgrade check runs as a Job that expects to reach
|
||||
# an upgrade-responder service on the internet by default. Harmless to
|
||||
# leave on, but pointless for a learning cluster and one less thing to
|
||||
# explain — off by default here.
|
||||
jobEnabled: false
|
||||
Reference in New Issue
Block a user