关于oss:minio对象存储使用

9次阅读

共计 2609 个字符,预计需要花费 7 分钟才能阅读完成。

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/minio
chmod +x minio
./minio server /data

留神启动时控制台会显示的 appkey secretkey 是默认登录账户,明码

docker 装置

docker pull minio/minio
docker 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 servers

USAGE:
  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 minio
enabled    cnb                   cnbpolicy
enabled    enp

列出 minio 现有的策略

[root@minio ~]$ mc admin policy list minio
diagnostics
readonly
readwrite
writeonly
cnbpolicy
consoleAdmin

列出 minio 桶的策略权限

[root@minio ~]$ mc policy list minio/cnb-uat
cnb-uat/cnb-uat* => readwrite
cnb-uat/* => readonly

二、增加 bucket

[root@minio ~]$ mc mb minio/iim-uat
Bucket 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 iim123456
Added user `iim` successfully.

2. 给用户设置策略

[root@minio ~]$ mc admin policy set minio iimpolicy user=iim

3. 设置匿名权限

[root@minio ~]$ mc policy set download minio/iim-uat
Access 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/
正文完
 0