forked from sagnik/Velocity-OS
133 lines
2.8 KiB
YAML
133 lines
2.8 KiB
YAML
# ============================================================
|
|
# 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
|