单节点部署
参考文档
http://www.minio.org.cn/docs/minio/kubernetes/upstream/#quickstart-minio-for-kubernetes
部署minIO
创建资源
使用NodePort方式访问web页面
访问k8s节点ip:30300,默认用户名密码都是minioadmin
使用ingress方式访问
添加hosts记录192.168.10.10 minio.test.com
访问域名即可
部署minIO集群
minIO集群方式部署使用operator或者helm均可。helm部署minIO参考文档:https://artifacthub.io/packages/helm/bitnami/minio。operator部署minIO参考文档:https://operator.min.io/,此处使用helm方式部署
集群角色规划
使用分布式方式部署高可用的minIO集群时,驱动器总数至少是4 个,以保证纠删码。我们可以在k8s-work1和k8s-work2上的data1和data2路径存放minIO数据,使用local pv方式持久化数据。
下载helm包
修改配置
添加storage-class模板配置:
添加 pv模板配置
修改配置values.yaml
部署minIO
查看资源信息
创建ingress资源
以ingrss-nginx为例:
以traefik为例:
访问测试
访问web管理页
minIO使用
创建bucket
创建Access Keys
创建访问控制权限
Minio 的存储桶默认是不跟任何 Acess Key 关联的,不过由于 Minio 支持标准的 S3 协议,我们可以给 Access Key 授予某个 Bucket 存储桶的访问权限,实现 Key 和 Bucket 的绑定。
创建policy
创建user
这里 Access Key 是用户名,Access Secret 是对应的口令。设置时关联上刚才创建的 Policy 即可。
我们就创建了一个新的存储桶,并且给这个存储桶设置了一个用户,同时授权了用户对存储桶的访问,包括列表、上传、下载这几个基本权限。
mc客户端使用
MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。
安装mc客户端(Linux二进制文件)
安装mc客户端(docker)
mc客户端常用命令
命令 | 功能 |
---|
ls | 列出文件和文件夹。 |
mb | 创建一个存储桶或一个文件夹。 |
cat | 显示文件和对象内容。 |
pipe | 将一个STDIN重定向到一个对象或者文件或者STDOUT。 |
share | 生成用于共享的URL。 |
cp | 拷贝文件和对象。 |
mirror | 给存储桶和文件夹做镜像。 |
find | 基于参数查找文件。 |
diff | 对两个文件夹或者存储桶比较差异。 |
rm | 删除文件和对象。 |
events | 管理对象通知。 |
watch | 监视文件和对象的事件。 |
policy | 管理访问策略。 |
config | 管理mc配置文件。 |
update | 检查软件更新。 |
version | 输出版本信息。 |
mc连接minIO服务
bucket操作
上传下载操作
文件操作
curl客户端使用
上传文件
上传文件脚本,按实际情况修改host、s3_key、s3_secret和-x
上传文件
查看bucket文件
下载文件
下载文件脚本
下载文件
该文章来源于网络,仅做个人备份.