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
This commit is contained in:
@@ -6,13 +6,15 @@ metadata:
|
||||
name: longhorn
|
||||
annotations:
|
||||
storageclass.kubernetes.io/is-default-class: "true"
|
||||
description: "Longhorn distributed storage - 3 replicas, WaitForFirstConsumer"
|
||||
description: "Longhorn distributed storage - 3 replicas, CP nodes only"
|
||||
argocd.argoproj.io/sync-options: Replace=true,Force=true
|
||||
provisioner: driver.longhorn.io
|
||||
allowVolumeExpansion: true
|
||||
reclaimPolicy: Delete
|
||||
volumeBindingMode: Immediate # Immediate binding for StatefulSets (matches deployed config)
|
||||
parameters:
|
||||
numberOfReplicas: "3" # HA across all 3 nodes
|
||||
numberOfReplicas: "3" # HA across all 3 CP nodes
|
||||
diskSelector: "storage" # Only schedule on CP node disks, not GPU worker
|
||||
staleReplicaTimeout: "30"
|
||||
fromBackup: ""
|
||||
dataLocality: "disabled" # Match deployed config (not best-effort)
|
||||
|
||||
Reference in New Issue
Block a user