- 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
19 lines
834 B
YAML
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.
|