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

 

posted @ 2026-03-16 00:28  teiperfly  阅读(0)  评论(0)    收藏  举报