Files
storage/longhorn/helm-values/longhorn.yaml
Mayne0213 8dd636847e FEAT(longhorn): add longhorn distributed block
- storage
- Add Longhorn Helm chart configuration
- Configure UI ingress at longhorn0213.kro.kr
- Set CPU limits to null to prevent throttling
- Configure 3 replicas for high availability
- Set Longhorn as default StorageClass
2026-01-04 23:47:13 +09:00

121 lines
2.9 KiB
YAML

# Longhorn Helm Values
# Chart: https://github.com/longhorn/longhorn
# Pre-upgrade checker - disable for ArgoCD/GitOps (per Longhorn docs)
preUpgradeChecker:
jobEnabled: false
upgradeVersionCheck: false
# Persistence settings
persistence:
defaultClass: true # Set Longhorn as default StorageClass
defaultClassReplicaCount: 3 # Number of replicas for high availability
reclaimPolicy: Retain # Keep PV data when PVC is deleted
# Default settings
defaultSettings:
# Storage
defaultReplicaCount: 3 # Default number of replicas for volumes
defaultDataPath: /var/lib/longhorn # Data storage path on nodes
# Backup settings
backupTarget: "" # S3/NFS backup target (configure later if needed)
backupTargetCredentialSecret: ""
# Performance
guaranteedInstanceManagerCPU: 5 # 5% CPU for instance managers
createDefaultDiskLabeledNodes: true # Auto-discover storage on labeled nodes
# Node scheduling
replicaSoftAntiAffinity: true # Prefer to spread replicas across nodes
replicaAutoBalance: best-effort # Auto-balance replicas
storageOverProvisioningPercentage: 200 # Allow 200% overprovisioning
storageMinimalAvailablePercentage: 10 # Keep 10% storage available
# Snapshot and backup
snapshotDataIntegrity: fast-check # Fast integrity check for snapshots
snapshotDataIntegrityImmediateCheckAfterSnapshotCreation: false
# Auto cleanup
orphanAutoDeletion: true # Auto delete orphaned resources
# Longhorn Manager (control plane)
longhornManager:
priorityClass: ~
tolerations: []
nodeSelector: {}
# Longhorn Driver (CSI driver)
longhornDriver:
priorityClass: ~
tolerations: []
nodeSelector: {}
# Longhorn UI
longhornUI:
replicas: 1
priorityClass: ~
tolerations: []
nodeSelector: {}
# CSI components
csi:
attacherReplicaCount: 1
provisionerReplicaCount: 1
resizerReplicaCount: 1
snapshotterReplicaCount: 1
# Ingress for Longhorn UI
ingress:
enabled: false # We'll create a separate Ingress resource
# Service configuration
service:
ui:
type: ClusterIP
nodePort: null
# Monitoring
# Enable if Prometheus is available
enablePSP: false # Pod Security Policy (deprecated in K8s 1.25+)
# Resources - NO CPU LIMITS per user request
resources:
longhornManager:
requests:
cpu: 100m
memory: 256Mi
limits:
# cpu: not set to prevent throttling
memory: 512Mi
longhornDriver:
requests:
cpu: 50m
memory: 128Mi
limits:
# cpu: not set to prevent throttling
memory: 256Mi
longhornUI:
requests:
cpu: 50m
memory: 64Mi
limits:
# cpu: not set to prevent throttling
memory: 128Mi
# Default StorageClass parameters
defaultStorageClass:
enabled: true
name: longhorn
defaultClass: true
reclaimPolicy: Retain
allowVolumeExpansion: true
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "2880" # 48 hours
fromBackup: ""
fsType: "ext4"
dataLocality: "disabled" # Allow scheduling on any node