Troubleshooting¶
This section tracks known issues and their workarounds in the cluster, split into one knowledge-base entry per issue. Each entry follows the same shape: symptom, cause, fix.
Before fixing anything, check known noise and non-remediation: the alerts and symptoms where the obvious corrective action is wrong, the configuration that is deliberately "broken", and the operations that must be escalated rather than attempted. After a change to protected infrastructure, the health verdict is the cross-cutting check.
Symptom ladder¶
Work down from what you observe to the most likely entry:
- Secrets / 1Password
- PushSecret logs spurious HTTP 400 errors but status shows
Synced→ KB-001 - GitGuardian flags plaintext credentials or certificate keys in the network-config backup repository → KB-070
- Flux / GitOps
- Flood of
FluxHelmReleaseArtifactFailed("flux is OOM"), or ~28 "dependency not ready" alerts while workloads stay healthy → KB-007 - konflate checks fail on every open PR ("all CIs failing"), or
konflate-cacheruns out of inodes → KB-011 - Networking
- One node's cross-node pod traffic flips/breaks while its host traffic is fine; its spegel pod goes
0/1→ KB-008 - An app 404s through the gateway on its real hostname but works on its pod IP (live HTTPRoute drifted to
*.example.com) → KB-020 NodeHighNumberConntrackEntriesUsedon every node at once right after deploying a scanner → KB-023- A dozen Gatus endpoints across
media/downloadsgo red at once with HTTP 503, DNS still resolves, pods are simply absent (zeroscaler at 0/1) → KB-027 - One internal hostname never gets its record (or resolves to the wrong value) while every other new app is fine; the name is already in Unbound as a hand-made row → KB-033
- Dozens of Flux Kustomizations fail on
failed calling webhook ... context deadline exceededright after a network policy merge, and the webhook answers again seconds later → KB-209 OPNsenseDeleteBlockedfires, or opnsense-dns fails every reconcile withrow has alias children; refusing to delete→ KB-034- A certificate on a Traefik instance outside the cluster nears expiry and nothing alerts; ACME renewal has been failing quietly → KB-049
- Storage / backups
- Backup pod stuck
PodInitializing(mount.nfs: Failed to resolve), orCreateContainerConfigErroron a subPath → KB-009 - After a Rook v1.20 upgrade: RBD nodeplugin
FailedCreate, or ~88VolSyncVolumeOutOfSyncalerts → KB-010 volsync-system/kopiarepository server OOM-crashloops (exit 137) → KB-016CephMonDownQuorumAtRisk(critical) fires minutes after cordoning a control-plane node → KB-019- Snapshot CRDs vanish minutes after merging a chart migration; controller crash-loops on "failure to ensure CRDs exist"; HelmRelease rollback loop re-deletes them each retry → KB-029
- One app's
volsync-src-<app>-nfs-*mover pods sit inErrorwhile every other app backs up fine; the log endswrite /cache/CACHEDIR.TAG: no space left on devicethenfound existing data in storage location→ KB-030 - A restore hangs on an unbindable cache PVC, is offered less capacity than the data, or hits ENOSPC on
/cache, while every backup is green → KB-031 - The Docker-estate backup reports success every night but the copied data never changes → KB-064
- The Veeam server is down for days and nothing pages; backup jobs simply stop advancing → KB-067
- An app's VolSync backups are green but a restore would miss its real data (a
sourcePVCpatch points at the wrong claim) → KB-145 - Workloads / pods
- A JVM/Logstash pod OOMKills on a cadence despite a bounded heap → KB-012
- A pure-Go pod SIGSEGVs (
exit 139) on a large fraction of starts, before any logs → KB-013 - HelmRelease
UpgradeFailed/rollback loop, pod stuckContainerCreatingwith aPullingevent (large image) → KB-015 allocatable.nvidia.com/gpu = 0for minutes after a device-plugin swap → KB-014CreateContainerConfigError: runAsUser breaks non-root policyon a fresh render of an s6/LinuxServer image → KB-022- One
KubeJobFaileda day fornetbox-housekeeping(Unknown command: 'housekeeping'), or NetBox housekeeping silently stopped with ascheduledjob stuck in the past → KB-032 - A gluetun VPN sidecar restarts continuously and never reaches
Ready, oftenOOMKilledon every cycle → KB-042 - SABnzbd's post-processing queue stops advancing while downloads keep completing → KB-059
- A once-a-day job goes silent for days while
/healthanswers OK and the pod restarts once a day → KB-085 - An
*arrapp returns HTTP 401 on the correct password and logs an encryption error → KB-113 - A web login loops back to the login page in one browser profile while the app logs a successful login, and a private window works → KB-208
- A custom image crashloops right after a Renovate digest bump that changed its base runtime → KB-157
- Prowler's worker and beat pods restart in a loop on a Dragonfly authentication error → KB-159
- Monitoring / Grafana
- Every panel on one dashboard shows "No data" / "Datasource Prometheus was not found" → KB-021
BmcEventLogWarningfires dozens of times for one hardware fault → KB-037- Storage-host node and SMART series appear twice, and unscoped queries or mixin rules double-count → KB-038
- A Gatus endpoint goes down and nothing pages → KB-065
- Mail relay (smtp2graph)
SMTP2GraphQueueStalledholds at one queued message for hours while the canary and later mail deliver fine; the log shows a singleFailed to send messageand no retries → KB-035- Plex playback
- 4K direct-play freezes for ~60s every ~6 minutes on LAN Apple TVs → KB-002
- "Server unavailable" / connection drops at session start, pod otherwise healthy → KB-003
- Remote 4K titles crash with
bad lexical cast; the same titles work on phone/LAN → KB-018 - Apple TV shows one frame of a 4K title then the Plex app freezes (force-quit to recover); the same file plays fine in Infuse → KB-026
- Talos upgrades
- TUPPR patch rollout stuck after drain; node cordoned and still on the old version → KB-004
- Upgrade reports success but the node comes back Ready, uncordoned, and still on the old version; it rebooted promptly → KB-028 (NVRAM wipe left a stale
LoaderEntryDefault) - Same, but the node took about 5 minutes to go down after the install completed → the reboot-sequence teardown revert in Talos upgrades
- A node cannot unseal its disk after a BIOS update wipes the Secure Boot keys → KB-207
- CI / validation / local dev
Flate - Testfails or skips on thegpu-operatornamespace → KB-005- Checkov CKV_K8S_21 flags a namespaced resource as
default→ KB-006 - First commit after a mise tool bump dies with
ln -sf ... File exists→ KB-017
All entries¶
- KB-001: 1Password Connect PushSecret False 400 Errors
- KB-002: Plex Direct-Play Buffering on LAN Apple TVs (BBR + MTU Probing)
- KB-003: Plex Advertises Broken Connection URLs To plex.tv
- KB-004: Talos Patch Rollout Gotchas (TUPPR)
- KB-005: flate Mis-Resolves NGC HelmRepository Chart URLs
- KB-006: Checkov CKV_K8S_21 Flags Namespaced Resources Without an Explicit Namespace
- KB-007: Flux "not ready" / "artifact failed" Alert Storms
- KB-008: Cross-Node Pod Networking Breaks (Cilium)
- KB-009: NFS Mount Failures (Host DNS / Read-Only Export)
- KB-010: Rook-Ceph v1.20 CSI Driver Split Gotchas
- KB-011: konflate Render Failures (Cache Inode Fill / Phantom Mirror)
- KB-012: JVM / Logstash Container RSS OOM Despite a Bounded Heap (
MALLOC_ARENA_MAX) - KB-013: Go Pod Startup SIGSEGV Was a UPX Stub vs. Service-Link Env Vars, Not a Go Regression
- KB-014: GPU Device-Plugin Handover Leaves
allocatable.nvidia.com/gpu = 0 - KB-015: Slow Image Pulls Exceed the HelmRelease Timeout (Rollback Loop)
- KB-016: Kopia Repository Server OOM = Repository Size, Not a Maintenance Failure
- KB-017:
mise+ lefthook Symlink Race Blocks the First Commit After a Tool Bump - KB-018: Plex Remote 4K Transcode-Decision Crash (
bad lexical cast) - KB-019: Cordoning a Control-Plane Node Breaks Ceph Mon Quorum
- KB-020: App Returns 404 Through the Gateway (HTTPRoute Drifted to Placeholder Hostnames)
- KB-021: Grafana Dashboard Panels All Blank ("Datasource … was not found")
- KB-022: Container Won't Start as Non-Root (s6 / LinuxServer Image
CreateContainerConfigError) - KB-023: Node Conntrack Table Saturates from a Host-Network Scanner
- KB-024: zeroscaler, NFS-Availability Scale-to-Zero via Native HPA
- KB-025: CephFS "Module ceph not found" on Talos Is a Built-in, Not a Missing Module
- KB-026: Plex Apple TV App Freezes on One Frame (Client Receive-Window Deadlock)
- KB-027: A DNS Cleanup Scaled Every NFS-Backed App to Zero
- KB-028: Talos Upgrade Installs Successfully but the Node Boots the Old Version (NVRAM Wipe)
- KB-029: Chart Migration Deletes Keep-Annotated CRDs (postRenderer Removal Races the Chart Swap)
- KB-030: VolSync Kopia Backups Fail with
no space left on deviceon/cache - KB-031: VolSync Restore Destinations Silently Frozen at Creation-Time Values
- KB-032: NetBox Housekeeping Fails Two Ways at Once (Removed Command, Wedged System Job)
- KB-033: OPNsense Record Exists but Is Unowned (No Registry TXT Row)
- KB-034: OPNsense Delete Blocked by a Hand-Made Alias
- KB-035: smtp2graph Message Stranded in the Queue (Never Retried, Never Failed)
- KB-037: BmcEventLogWarning pages once per SEL entry instead of once per fault
- KB-038: TrueNAS host metrics scraped twice under two job names
- KB-042: gluetun Kubelet Probes Cause a Self-Sustaining Restart Loop
- KB-049: ACME renewal broke silently on two non-cluster Traefik instances
- KB-059: A hung par2/unrar/7z helper stalls the entire SABnzbd queue
- KB-064: Docker-estate backup silently copied a frozen NAS snapshot for four nights
- KB-065: Gatus alerting was off for months, then an allowlist dropped two more groups
- KB-067: Veeam B&R server BSOD sat unnoticed for 12 days
- KB-070: Oxidized's firewall backup leaked plaintext secrets into Git
- KB-085: lurcher ran out of memory every day for 12 days, invisible to its own health check
- KB-113:
*arrapp returns 401 on the correct password (no writable /tmp) - KB-145: satisfactory's VolSync backup targeted the wrong PVC
- KB-157: Renovate digest bump silently changed a custom image's base runtime and broke its plugin
- KB-159: Prowler's Celery Worker Never Authenticated to Dragonfly
- KB-207: A Static-Passphrase LUKS Slot Insures Against a BIOS Secure Boot Key Wipe
- KB-208: Login loops in one browser profile while the app logs a successful login
- KB-209: Webhooks time out for seconds after a network policy change, and Flux Kustomizations stay failed