forked from sagnik/Velocity-OS
Initial commit: Velocity-OS migration
This commit is contained in:
132
infrastructure/k3s/volumes/persistent-volumes.yaml
Normal file
132
infrastructure/k3s/volumes/persistent-volumes.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
# ============================================================
|
||||
# Velocity-OS — K3s StorageClasses + PersistentVolumes
|
||||
# Target: RTX 6000 Blackwell workstation NVMe drive
|
||||
# ============================================================
|
||||
---
|
||||
# StorageClass: local-nvme (no provisioner — manually bound PVs)
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: local-nvme
|
||||
provisioner: kubernetes.io/no-provisioner
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
reclaimPolicy: Retain
|
||||
|
||||
---
|
||||
# PV: PostgreSQL data (50Gi on NVMe)
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: pv-postgres-data
|
||||
labels:
|
||||
app: postgres
|
||||
spec:
|
||||
capacity:
|
||||
storage: 50Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-nvme
|
||||
local:
|
||||
path: /opt/dlami/nvme/data/postgres
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: [velocity-workstation]
|
||||
|
||||
---
|
||||
# PV: AI model cache (500Gi — Wan 2.2, Qwen-Image, Qwen3.6)
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: pv-model-cache
|
||||
labels:
|
||||
app: model-cache
|
||||
spec:
|
||||
capacity:
|
||||
storage: 500Gi
|
||||
accessModes: [ReadOnlyMany]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-nvme
|
||||
local:
|
||||
path: /opt/dlami/nvme/models
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: [velocity-workstation]
|
||||
|
||||
---
|
||||
# PV: Generated asset store (200Gi)
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: pv-asset-store
|
||||
labels:
|
||||
app: asset-store
|
||||
spec:
|
||||
capacity:
|
||||
storage: 200Gi
|
||||
accessModes: [ReadWriteMany]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-nvme
|
||||
local:
|
||||
path: /opt/dlami/nvme/assets
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: [velocity-workstation]
|
||||
|
||||
---
|
||||
# PVCs
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pvc-postgres-data
|
||||
namespace: velocity-os
|
||||
spec:
|
||||
accessModes: [ReadWriteOnce]
|
||||
storageClassName: local-nvme
|
||||
resources:
|
||||
requests:
|
||||
storage: 50Gi
|
||||
selector:
|
||||
matchLabels:
|
||||
app: postgres
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pvc-model-cache
|
||||
namespace: velocity-os
|
||||
spec:
|
||||
accessModes: [ReadOnlyMany]
|
||||
storageClassName: local-nvme
|
||||
resources:
|
||||
requests:
|
||||
storage: 500Gi
|
||||
selector:
|
||||
matchLabels:
|
||||
app: model-cache
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pvc-asset-store
|
||||
namespace: velocity-os
|
||||
spec:
|
||||
accessModes: [ReadWriteMany]
|
||||
storageClassName: local-nvme
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Gi
|
||||
selector:
|
||||
matchLabels:
|
||||
app: asset-store
|
||||
Reference in New Issue
Block a user