minlo 开源对象存储系统
一、概念
Minio是GlusterFS创始人之一:Anand Babu Periasamy 发布新的开源项目,MinIo 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,客户端支持
Java,Python,Javacript, Golang语言。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一
个对象文件可以是任意大小,从几kb到最大5T不等。区别于分布式存储系统,minio的特色在于简单、轻量级,对开发者友好,认为存储应该是一个开发问题而不是一个运维问题。
MinIo主要是在微服务系统中使用,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这
种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用Go语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。
Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。
https://min.io/ 官网
二、docker部署
部署方式比较多
二进制:https://dl.minio.io/server/minio/release/linux-amd64/
或者docker和k8s都行
1、创建一个用于存放Minio持久化数据的目录
mkdir -p /opt/docker/minio cd /opt/docker/minio && vim docker-compose.yml
2、创建docker-compose.yml文件
version: '3' services: minio: container_name: minio image: minio/minio:RELEASE.2021-01-05T05-22-38Z restart: always command: server /data ports: - 9000:9000 volumes: - ./data:/data - ./config:/root/.minio environment: - MINIO_DOMAIN=minio - MINIO_ACCESS_KEY=admin - MINIO_SECRET_KEY=admin@123
其中:
-
MINIO_DOMAIN:域名
-
MINIO_ACCESS_KEY:用户名
-
MINIO_SECRET_KEY:密码
请根据自己的实际情况修改上面的内容。
3、启动
docker-compose up -d
4、放行端口
firewall-cmd --add-port=9000/tcp --permanent firewall-cmd --reload
5、访问
三、运用
1、k8s中的gitlab runner 配置缓存就需要使用到s3
GitLab Runner Helm Chart | GitLab