minio容器部署
将镜像推送到私有仓库后使用如下yaml直接部署,需先创建storageClass
docker pull minio/minio:latest
minio-nfs.yaml
apiVersion: v1
kind: Namespace
metadata:
name: minio-dev
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-data-pvc
namespace: minio-dev
spec:
storageClassName: nfs-sc # 关键:使用你的 NFS StorageClass
accessModes:
- ReadWriteOnce # 单节点读写即可,NFS 也支持 RWO
resources:
requests:
storage: 5Gi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: minio
namespace: minio-dev
spec:
serviceName: minio
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: 192.168.0.122:1443/minio/minio:latest
args:
- server
- /data
- --console-address
- ":9001"
env:
- name: MINIO_ROOT_USER
value: "minioadmin" # 建议改为 secret 管理
- name: MINIO_ROOT_PASSWORD
value: "minioadmin" # 建议改为 secret 管理
ports:
- containerPort: 9000
name: api
- containerPort: 9001
name: console
volumeMounts:
- name: data
mountPath: /data
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /minio/health/ready
port: 9000
initialDelaySeconds: 20
periodSeconds: 5
# 可选:设置 NFS 挂载权限(如果遇到权限问题)
securityContext:
fsGroup: 1000
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: nfs-sc # 同样指定 StorageClass
resources:
requests:
storage: 3Gi
---
apiVersion: v1
kind: Service
metadata:
name: minio-service
namespace: minio-dev
spec:
type: NodePort # 如需对外暴露可改为 NodePort 或 LoadBalancer
ports:
- port: 9000
targetPort: 9000
nodePort: 30080
name: api
- port: 9001
targetPort: 9001
nodePort: 30081
name: console
selector:
app: minio

浙公网安备 33010602011771号