一、单节点部署
参考文档
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
使用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
code here...
评论 (0)