Files
qiming/qiming-rcoder/k8s/manifests/base/storage/minio-deployment.yaml
2026-06-01 13:54:52 +08:00

113 lines
2.4 KiB
YAML

# ============================================================
# MinIO for JuiceFS Data Storage
# JuiceFS S3 兼容对象存储
# ============================================================
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-pvc
namespace: nuwax-rcoder
labels:
app: minio
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: "local-path" # 单节点环境使用 local-path
resources:
requests:
storage: 30Gi # 单节点环境使用较小存储
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: minio
namespace: nuwax-rcoder
spec:
serviceName: minio
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio:latest
ports:
- containerPort: 9000
name: api
- containerPort: 9001
name: console
env:
- name: MINIO_ROOT_USER
valueFrom:
secretKeyRef:
name: rcoder-credentials
key: MINIO_ROOT_USER
- name: MINIO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: rcoder-credentials
key: MINIO_ROOT_PASSWORD
args:
- server
- /data
- --console-address
- ":9001"
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /minio/health/ready
port: 9000
initialDelaySeconds: 5
periodSeconds: 5
volumeMounts:
- name: minio-data
mountPath: /data
volumes:
- name: minio-data
persistentVolumeClaim:
claimName: minio-pvc
---
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: nuwax-rcoder
spec:
selector:
app: minio
ports:
- name: api
port: 9000
targetPort: 9000
- name: console
port: 9001
targetPort: 9001
clusterIP: None # Headless service for StatefulSet
---
# Service for K8s internal access (ClusterIP)
apiVersion: v1
kind: Service
metadata:
name: minio-service
namespace: nuwax-rcoder
spec:
selector:
app: minio
ports:
- name: api
port: 9000
targetPort: 9000
- name: console
port: 9001
targetPort: 9001