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