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和用户,并给用户进行受权拜访

  1. 用户只能拜访本人的bucket
  2. 用户只能上传和下载,列出本人的文件

一、查看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/