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上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

什么是对象存储? — MinIO祼机使用文档

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MinIO | 高性能,对Kubernetes友好的对象存储

posted @ 2022-07-11 11:06  凡人半睁眼  阅读(2888)  评论(0编辑  收藏  举报