Minio安装

axing
2025-06-17 / 0 评论 / 1 阅读 / 正在检测是否收录...

一、单节点部署

参考文档
http://www.minio.org.cn/docs/minio/kubernetes/upstream/#quickstart-minio-for-kubernetes
kubectl create namespace minio

cat > minio.yaml << EOF
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: minio-pvc
  namespace: minio
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: minio
  name: minio
  namespace: minio
spec:
  selector:
    matchLabels:
      app: minio
  template:
    metadata:
      labels:
        app: minio
    spec:
      containers:
      - name: minio
        image: registry.cn-guangzhou.aliyuncs.com/xingcangku/quay.io-minio:latest
        command:
        - /bin/bash
        - -c
        args: 
        - minio server /data --console-address :9090
        volumeMounts:
        - mountPath: /data
          name: data
        ports:
        - containerPort: 9090
          name: console
        - containerPort: 9000
          name: api
        env:
        - name: MINIO_ROOT_USER # 指定用户名
          value: "admin" 
        - name: MINIO_ROOT_PASSWORD # 指定密码,最少8位置
          value: "minioadmin"
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: minio-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: minio-service
  namespace: minio
spec:
    type: NodePort 
    selector:     
      app: minio
    ports:
    - name: console
      port: 9090
      protocol: TCP
      targetPort: 9090
      nodePort: 30300
    - name: api
      port: 9000
      protocol: TCP
      targetPort: 9000
      nodePort: 30222
EOF
root@k8s01:~/helm/minio# kubectl apply -f minio.yaml 
persistentvolumeclaim/minio-pvc created
deployment.apps/minio created
service/minio-service created
root@k8s01:~/helm/minio# kubectl get pod -n minio  -w
NAME                     READY   STATUS              RESTARTS   AGE
minio-695ff86587-c6zq9   0/1     ContainerCreating   0          3s
minio-695ff86587-c6zq9   1/1     Running             0          14s

使用NodePort方式访问web页面

root@k8s01:~/helm/minio# kubectl get svc -n minio 
NAME            TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)                         AGE
minio-service   NodePort   10.97.73.67   <none>        9090:30300/TCP,9000:30222/TCP   6m49s

访问k8s节点ip:30300,默认用户名admin密码minioadmin
mbz6s3od.png

使用ingress方式访问

[root@k8s-master minio]# cat minio-ingress.yaml
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: minio-console
  namespace: minio
spec:
  entryPoints:
  - web
  routes:
  - match: Host(`minio.test.com`) # 域名
    kind: Rule
    services:
      - name: minio-service  # 与svc的name一致
        port: 9090           # 与svc的port一致
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: minio-api
  namespace: minio
spec:
  entryPoints:
  - web
  routes:
  - match: Host(`minio-api.test.com`) # 域名
    kind: Rule
    services:
      - name: minio-service  # 与svc的name一致
        port: 9000           # 与svc的port一致
[root@k8s-master minio]# kubectl apply -f minio-ingress.yaml 
ingressroute.traefik.containo.us/minio-console created
ingressroute.traefik.containo.us/minio-api created

二、minIO使用
创建bucket
mbz6unnt.png

code here...
0

评论 (0)

取消