The k3s VM disks are HDD-backed, so a full Longhorn replica rebuild's sequential I/O can saturate the spindle and starve etcd's WAL fsync, crash-looping etcd and flapping the kube-vip VIP (observed during a rolling node resize). Cap rebuilds to one replica per node at a time so a node bounce or replica replenishment can never storm the disks. Set via HelmRelease defaultSettings.concurrentReplicaRebuildPerNodeLimit (GitOps-managed, permanent). replica-replenishment-wait-interval stays at the Longhorn default of 600s. Reference values.yaml kept in sync. Co-Authored-By: Claude Opus 4.8 <[email protected]>
23 lines
1.6 KiB
YAML
23 lines
1.6 KiB
YAML
# Longhorn Helm values — REFERENCE ONLY (not consumed by kustomization.yaml).
|
|
#
|
|
# The authoritative values are inline in helmrelease.yaml (matching the sibling pattern across
|
|
# platform/ — cilium, cert-manager, velero, etc.). This file documents the knobs that matter so a
|
|
# reviewer can see intent without reading the HelmRelease. Keep it in sync with helmrelease.yaml.
|
|
#
|
|
# persistence:
|
|
# defaultClass: false # we own StorageClasses (storageclasses.yaml)
|
|
#
|
|
# defaultSettings:
|
|
# defaultDataPath: /var/lib/longhorn # dedicated data disk (infra/cloud-init)
|
|
# defaultReplicaCount: ${LONGHORN_DEFAULT_REPLICA_COUNT} # overlay knob (=3 in dev)
|
|
# replicaSoftAntiAffinity: false # HARD anti-affinity: one replica per node
|
|
# replicaZoneSoftAntiAffinity: true # single zone (3 mini-PCs, no failure zones)
|
|
# replicaAutoBalance: best-effort # rebalance toward one-per-node when a node returns
|
|
# concurrentReplicaRebuildPerNodeLimit: 1 # throttle rebuild I/O so it can't starve etcd WAL fsync (HDD-backed)
|
|
# storageReservedPercentageForDefaultDisk: "20" # reserve disk headroom (docs/04 guardrail)
|
|
# storageMinimalAvailablePercentage: "25" # stop scheduling below 25% free
|
|
# storageOverProvisioningPercentage: "100" # dev: no thin over-provisioning (1:1)
|
|
# defaultDataLocality: disabled # keep replicas spread for durability
|
|
# orphanAutoDeletion: true # reclaim orphaned replica space promptly
|
|
# backupTarget: <off-cluster> # TODO(WS-STORAGE, Phase 4): DR target (ADR-0003)
|