Files
homelab/k8s/infra/longhorn/kustomization.yaml
T
rock 3462096311 fix(longhorn): isolate GPU worker from general storage scheduling
- Remove expand-replicas-job (blindly forced all volumes to 3 replicas,
  ignoring StorageClass settings)
- Add diskSelector: 'storage' to longhorn and longhorn-cnpg StorageClasses
  so replicas only land on CP nodes (cp-1, cp-2, cp-3)
- Tag all CP node disks with 'storage' via PostSync job
  (disk names are runtime-discovered, can't hardcode in Node CRs)
- Disable scheduling on worker-1 Node CR — only longhorn-llm-local
  (diskSelector: 'llm') can use it
- worker-1 is GPU-only: llm-models and comfyui use dedicated SCs
2026-09-11 09:33:52 +09:00

19 lines
834 B
YAML

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: longhorn-system
resources:
- longhorn-storageclass.yaml
- longhorn-cnpg-storageclass.yaml # CNPG-specific with postgres UID/GID
- longhorn-paperless-storageclass.yaml # single-replica, cp-3 USB HDD only
- longhorn-servicemonitor.yaml
- longhorn-taint-toleration.yaml
- longhorn-nodes.yaml
- longhorn-tag-disks-job.yaml
- patch-csi-tolerations-job.yaml
- longhorn-add-disks-job.yaml # Add extra disks to talos-cp-2
# Longhorn deployed via bootstrap script or Helm.
# These manifests configure it: unified StorageClass (default, 3 replicas),
# Prometheus ServiceMonitor, taint toleration for control-plane nodes, explicit
# Node CRDs for cp-2/cp-3, CSI plugin tolerations, and a PostSync hook Job
# that configures storage for the cluster.