MinIO是什么?
高性能、与S3兼容的对象存储系统(混合云和多云对象存储),让你能够构建自己的云储存服务。
测试使用minIO
minIO用于文件存储,也可以把纯前端服务上传到minIO,并且使用域名转发到对应bucket,这样直接通过通用域名可以访问多个前端服务,比如webPush、认证h5等。
创建bucket
使用admin或者qatest账号创建即可,结合业务实际或者使用场景,不同业务可以使用不同bucket区分。
修改bucket访问policy
默认Access Policy是Private,无法通过域名转发的方式访问存储的资源(返回403)
把Access Policy改成Public即可
更新资源文件
Browser bucket后进行操作即可:
部署启动命令
目前QA测试环境已经部署了minIO,部署方式Docker,容器启动命令如下:
docker run --rm -p 9000:9000 -p 9901:9901 -d --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=" \
-e "MINIO_KMS_SECRET_KEY=" \
-v /data/k8s/minio/data:/disk1 \
registry.hub.docker.com/minio/minio:RELEASE.2022-03-05T06-32-39Z server /disk1 --console-address :9901
使用方式
- 通过控制台进行上传/更新html等前端文件
附快速上手MinIO for Kubernetes
预准备条件
- 部署搭建好的k8s集群/deployment:至少一个工作节点,拥有挂载本地磁盘。
- 本地安装配置好kubectl命令行工具:用于创建、访问目标集群的资源
- 熟悉k8s环境
- 熟悉Terminal终端或shell环境
附k8s安装指南
- 下载MinIO
下载minio-dev.yaml到本地机器
curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O
yaml文件种定义了2类k8s资源:
- 指定namespace
- MinIO使用工作节点的driver或者volume用户保存管理数据
- 进行提交Apply kubectl apply -F minio-dev.yaml
- 临时访问MinIO S3 API和控制台 kubectl port-forward pod/minio 9000 9090 -n min-dev port-forward命令临时把pod的9000端口转发到本地机器的9090端口,这个转发仅仅是shell会话期间有效,如果会话结束转发停止。或者可以使用Ctrl+C键停止命令,或者使用kubectl port-forward --abort命令来强制终止转发进程
- 浏览器访问MinIO控制台,MinIO控制台可以进行管理员任务比如身份权限管理、矩阵和日志监控,服务端配置等。