Minio简介
Minio是Apache License v2.0下公布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适宜存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小能够从几KB到最大5TB
Minio服务器足够轻,能够与应用程序堆栈捆绑在一起,相似于NodeJS,Redis和MySQL。
https://docs.minio.io/
Minio装置应用
二进制装置
wget https://dl.minio.io/server/minio/release/linux-amd64/miniochmod +x minio./minio server /data
留神启动时控制台会显示的 appkey secretkey是默认登录账户,明码
docker装置
docker pull minio/miniodocker run -p 9000:9000 minio/minio server /data
应用
浏览器输出: http://ip:9000
例如:http://10.0.102.201:9000 http://172.17.42.1:9000 http://127.0.0.1:9000
AccessKey: minioadmin
SecretKey: minioadmin
Minio常用命令
客户端操作命令
NAME: mc - MinIO Client for cloud storage and filesystems.USAGE: mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]COMMANDS:ls 列出文件和文件夹。mb 创立一个存储桶或一个文件夹。cat 显示文件和对象内容。pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。share 生成用于共享的URL。cp 拷贝文件和对象。mirror 给存储桶和文件夹做镜像。find 基于参数查找文件。diff 对两个文件夹或者存储桶比拟差别。rm 删除文件和对象。events 治理对象告诉。watch 监督文件和对象的事件。policy 治理拜访策略。config 治理mc配置文件。update 查看软件更新。version 输入版本信息。
客户端治理命令
NAME: mc admin - manage MinIO serversUSAGE: mc admin COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]COMMANDS:service 服务重启并进行所有MinIO服务器update 更新更新所有MinIO服务器info 信息显示MinIO服务器信息user 用户治理用户group 小组治理小组policy MinIO服务器中定义的策略管理策略config 配置管理MinIO服务器配置heal 修复MinIO服务器上的磁盘,存储桶和对象profile 概要文件生成概要文件数据以进行调试top 顶部提供MinIO的顶部统计信息trace 跟踪显示MinIO服务器的http跟踪console 控制台显示MinIO服务器的控制台日志prometheus Prometheus治理Prometheus配置kms kms执行KMS治理操作
Minio应用案例
新建一个bucket和用户,并给用户进行受权拜访
- 用户只能拜访本人的bucket
- 用户只能上传和下载,列出本人的文件
一、查看minio根本状况
客服端中增加minio server进行治理
[root@minio ~]$ mc config host add minio http://ip或域名端口 minioadmin minioadmin
列出所有buckets
[root@minio ~]$ mc ls minio[2021-03-19 16:45:13 CST] 0B cnb-uat/[2021-03-19 16:45:21 CST] 0B enp-uat/
列出minio现有的用户
[root@minio ~]$ mc admin user list minioenabled cnb cnbpolicyenabled enp
列出minio现有的策略
[root@minio ~]$ mc admin policy list miniodiagnosticsreadonlyreadwritewriteonlycnbpolicyconsoleAdmin
列出minio桶的策略权限
[root@minio ~]$ mc policy list minio/cnb-uatcnb-uat/cnb-uat* => readwritecnb-uat/* => readonly
二、增加bucket
[root@minio ~]$ mc mb minio/iim-uatBucket created successfully `minio/iim-uat`.
三、增加策略
1.增加自定义策略文件
cat > iim.json << EOF{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::iim-uat/*" ] } ]}EOF
2.增加自定义策略到零碎
[root@minio ~]$ mc admin policy add minio iimpolicy iim.json
三、用户治理
1.增加用户
[root@minio ~]$ mc admin user add minio iim iim123456Added user `iim` successfully.
2.给用户设置策略
[root@minio ~]$ mc admin policy set minio iimpolicy user=iim
3.设置匿名权限
[root@minio ~]$ mc policy set download minio/iim-uatAccess permission for `minio/iim-uat` is set to `download`
四、客户端应用
客户端通过命令行操作bucket
[root@minio ~]$ mc config host add minio http://ip或域名端口 iim iim123456[root@minio ~]$ mc ls minio[2021-03-19 16:45:13 CST] 0B iim-uat/