Administrator
Published on 2024-10-20 / 54 Visits
0

minio

minio

version: '3.8'

services:
  minio:
    image: quay.io/minio/minio
    container_name: minio
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - MINIO_ROOT_USER=ROOTNAME
      - MINIO_ROOT_PASSWORD=CHANGEME123
    volumes:
      - /data/minio/data:/data
    command: server /data --console-address ":9001"

k8s yaml

# 创建命名空间
apiVersion: v1
kind: Namespace
metadata:
  name: minio-dev
  labels:
    name: minio-dev

---
# 定义 PersistentVolume (PV)
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    path: /volume3/data
    server: 192.168.3.6
    readOnly: false

---
# 定义 PersistentVolumeClaim (PVC)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
  namespace: minio-dev
spec:
  storageClassName: manual
  volumeName: nfs-pv
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi

---
# 定义 MinIO 服务
apiVersion: v1
kind: Service
metadata:
  name: minio
  namespace: minio-dev
spec:
  type: NodePort  # 保持为 NodePort
  ports:
  - name: 9000-tcp
    protocol: TCP
    port: 9000
    targetPort: 9000  
    nodePort: 30000  # 指定一个具体的 NodePort(可选)
  - name: 9001-tcp
    protocol: TCP
    port: 9001
    targetPort: 9001
    nodePort: 30001  # 指定一个具体的 NodePort(可选)
  selector:
    app: minio

---
# 定义 MinIO Pod
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: minio
  name: minio
  namespace: minio-dev 
spec:
  containers:
  - name: minio
    image: hub.whhlocal.site/hub/minio/minio:latest
    command:
    - /bin/bash
    - -c
    args: 
    - minio server /data --console-address :9001
    volumeMounts:
    - mountPath: /data
      name: nfs 
  nodeSelector:
    kubernetes.io/hostname: worker-01
  volumes:
  - name: nfs
    persistentVolumeClaim:
      claimName: nfs-pvc