1. MinIO Client SDK接入
https://min.io/docs/minio/linux/developers/go/minio-go.html
2. MinIO Client简介
MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。
3. MinIO Client部署
官方地址:
https://min.io/docs/minio/linux/reference/minio-mc.html
https://min.io/docs/minio/linux/reference/minio-mc/minio-client-settings.html
- 下载
bash
curl -L https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc
chmod 755 /usr/local/bin/mc
curl -L https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc
chmod 755 /usr/local/bin/mc
- 验证
bash
[root@kube-master minio]# mc --version
mc version RELEASE.2024-07-15T17-46-06Z (commit-id=11034f9de1e9f993c36fbad961f76f876a753328)
Runtime: go1.22.5 linux/amd64
Copyright (c) 2015-2024 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
[root@kube-master minio]# mc --version
mc version RELEASE.2024-07-15T17-46-06Z (commit-id=11034f9de1e9f993c36fbad961f76f876a753328)
Runtime: go1.22.5 linux/amd64
Copyright (c) 2015-2024 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
4. Bucket操作
4.0 常规命令
4.1 Bucket 配置与应用
- 语法
bash
# 语法
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>
[--api API-SIGNATURE]
# 参数
ALIAS 别名就是给你的云存储服务起了一个短点的外号。
YOUR-S3-ENDPOINT 云存储的主机和端口,如:http://127.0.0.1:9000
YOUR-ACCESS-KEY 云存储服务的 Access Key
YOUR-SECRET-KEY 云存储服务的 Secret Key
API-SIGNATURE API签名是可选参数,默认情况下它被设置为 "S3v4"
# 添加 AWS S3 外部存储
mc config host add s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB
V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 --api s3v4
# 语法
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>
[--api API-SIGNATURE]
# 参数
ALIAS 别名就是给你的云存储服务起了一个短点的外号。
YOUR-S3-ENDPOINT 云存储的主机和端口,如:http://127.0.0.1:9000
YOUR-ACCESS-KEY 云存储服务的 Access Key
YOUR-SECRET-KEY 云存储服务的 Secret Key
API-SIGNATURE API签名是可选参数,默认情况下它被设置为 "S3v4"
# 添加 AWS S3 外部存储
mc config host add s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB
V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 --api s3v4
- 添加 minio cluster 别名信息(集群内 endpoint 为 svc 的地址、集群外endpoint则为ingress的域名
bash
mc alias set k8s-s3 http://s3.ikubernetes.net KIHKL495T13VF7IPBKQ2 ZT6TnoGdPK0AOwQ1Trq2jSGacXKZOi5CIsfS5hc4
mc alias set k8s-s3 http://s3.ikubernetes.net KIHKL495T13VF7IPBKQ2 ZT6TnoGdPK0AOwQ1Trq2jSGacXKZOi5CIsfS5hc4
bash
mc alias set k8s-s3-internal http://minio.minio-tenant-1.svc KIHKL495T13VF7IPBKQ2 ZT6TnoGdPK0AOwQ1Trq2jSGacXKZOi5CIsfS5hc4
mc alias set k8s-s3-internal http://minio.minio-tenant-1.svc KIHKL495T13VF7IPBKQ2 ZT6TnoGdPK0AOwQ1Trq2jSGacXKZOi5CIsfS5hc4
4.2 创建Bucket
bash
#mc mb k8s-s3/test
Bucket created successfully `k8s-s3/test`.
#mc mb k8s-s3/test
Bucket created successfully `k8s-s3/test`.
访问
bash
#设置Bucket的访问策略,允许匿名下载
mc anonymous set download k8s-s3/demo
#创建和获取对象
#创建
echo "hello, world." > hello.html
#文件复制到Bucket中
mc cp ./hello.html k8s-s3/demo/html/hello.html
[root@kube-master ~]# curl http://s3.ikubernetes.net/demo/html/hello.html
hello, world.
#设置Bucket的访问策略,允许匿名下载
mc anonymous set download k8s-s3/demo
#创建和获取对象
#创建
echo "hello, world." > hello.html
#文件复制到Bucket中
mc cp ./hello.html k8s-s3/demo/html/hello.html
[root@kube-master ~]# curl http://s3.ikubernetes.net/demo/html/hello.html
hello, world.
mc admin管理minio
MinIO Client(mc)提供了“ admin”子命令来对您的MinIO部署执行管理任务。
参数 | 说明 |
---|---|
service | 服务重启并停止所有MinIO服务器 |
update | 更新更新所有MinIO服务器 |
info | 信息显示MinIO服务器信息 |
user | 用户管理用户 |
group | 小组管理小组 |
policy | MinIO服务器中定义的策略管理策略 |
config | 配置管理MinIO服务器配置 |
heal | 修复MinIO服务器上的磁盘,存储桶和对象 |
console | 控制台显示MinIO服务器的控制台日志 |
top | 顶部提供MinIO的顶部统计信息 |
用户管理
bash
mc admin user --help
#新建用户
mc admin user add k8s-s3 fox
mc admin user add k8s-s3 fox02 12345678
#查看用户
mc admin user list k8s-s3
#禁用用户
mc admin user disable k8s-s3 fox02
#启用用户
mc admin user disable k8s-s3 fox02
#查看用户信息
mc admin user info k8s-s3 fox
#删除用户
mc admin user remove k8s-s3 fox02
mc admin user --help
#新建用户
mc admin user add k8s-s3 fox
mc admin user add k8s-s3 fox02 12345678
#查看用户
mc admin user list k8s-s3
#禁用用户
mc admin user disable k8s-s3 fox02
#启用用户
mc admin user disable k8s-s3 fox02
#查看用户信息
mc admin user info k8s-s3 fox
#删除用户
mc admin user remove k8s-s3 fox02
策略管理
mc admin policy --help
#列出MinIO上的所有固定策略
mc admin policy list k8s-s3
# 查看plicy信息
mc admin policy info k8s-s3 readwrite
mc admin policy --help
#列出MinIO上的所有固定策略
mc admin policy list k8s-s3
# 查看plicy信息
mc admin policy info k8s-s3 readwrite