docker版安装
官网参考
https://github.com/minio/minio
docker run -d -p 9000:9000 \
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio:latest server /data
k8s安装。本次使用NFS动态存储
cat <<END>claim-class.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nfs
annotations:
volume.beta.kubernetes.io/storage-class: "example-nfs"
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: example-nfs
provisioner: example.com/nfs
mountOptions:
- vers=4.1
END
kubectl apply -f claim.yaml -f class.yaml
cat <<END>minio.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio-deploy
#namespace: cephfs
labels:
app: minio
spec:
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio:latest
args:
- server
- /storage
env:
- name: MINIO_ACCESS_KEY
value: "MIDUSIKDF4Y7H3GC0JBW"
- name: MINIO_SECRET_KEY
value: "vAYq2gEOudoOJYiMApjLtYYeYZSNykEBAcuZFPcO"
ports:
- containerPort: 9000
volumeMounts:
- mountPath: /storage
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: nfs
---
apiVersion: v1
kind: Service
metadata:
name: minio-service
spec:
type: NodePort
ports:
- port: 9000
targetPort: 9000
protocol: TCP
nodePort: 19000
selector:
app: minio
END
kubectl apply -f minio.yaml
web ui创建桶操作
可以分享等等功能。。
以下mc客户端操作
#MinIO云存储
#mc config host add minio <Endpoint> <AccessKey> <SecretKey> S3v4
mc config host add my-user http://192.168.8.179:9000 AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --api s3v4
Added `my-user` successfully.
创建bucket
[root@harbor181 ~]# mc mb my-user/mybucket
Bucket created successfully `my-user/mybucket`.
测试上传一个文件
[root@harbor181 ~]# mc cp anaconda-ks.cfg my-user/mybucket
anaconda-ks.cfg: 1.60 KiB / 1.60 KiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 194.05 KiB/s 0s
mc 别名使用
mc alias set ALIAS URL ACCESSKEY SECRETKEY
例如:
[root@harbor181 ~]# mc alias set jsj http://192.168.8.179:9000 AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --api s3v4
Added `jsj` successfully.
列出数据列表
[root@harbor181 ~]# mc ls jsj/jsj
[2021-01-01 23:03:57 CST] 445MiB 43543.mp4
[2021-01-01 23:24:36 CST] 12MiB docker-compose-Linux-x86_64
目录上传删除
将/etc目录上传到 my-jb/gogo/555
(注意加\和不加\的区
[root@harbor181 log]# mc cp -r /etc my-jb/gogo/555
...version-groups.conf: 33.38 MiB / 33.38 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 23.89 MiB/s 1s
加\上传etc目录
[root@harbor181 log]# mc cp -r /etc/ jsj/mimi
...cted.d/systemd.conf: 33.38 MiB / 33.38 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 21.96 MiB/s 1s
删除桶里的一个目录
[root@harbor181 usr]# mc rm jsj/jsj/123 --recursive --force
Removing `jsj/jsj/123/[`.
Removing `jsj/jsj/123/a2p`.
Removing `jsj/jsj/123/addr2line`.
Removing `jsj/jsj/123/alias`.
Removing `jsj/jsj/123/apropos`.
更多命令请参考官网
https://docs.min.io/cn/minio-client-complete-guide#mirror