前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【玩转Lighthouse】使用MinIO搭建云原生对象存储服务

【玩转Lighthouse】使用MinIO搭建云原生对象存储服务

原创
作者头像
yjwang
修改2022-04-18 09:35:54
7.1K1
修改2022-04-18 09:35:54
举报

1. 简介

本文从通用的AWS S3对象存储协议,以及在MinIO中使用 腾讯云对象存储 的场景出发,介绍基于MinIO云原生对象存储的搭建步骤和MinIO客户端的使用示例,以及MinIO SDK使用示例;包括在 CentOS8 中运行minIO服务端、minIO存储网关,在Docker环境中单点单容器运行minIO服务端、单点多容器运行minIO服务端以及单点单容器运行minIO存储网关

2. 环境准备

2.1 腾讯云轻量应用服务器

>>点击这里购买 Lighthouse轻量应用服务器

Lighthouse轻量应用服务器 购买页面
Lighthouse轻量应用服务器 购买页面

2.2 下载 MinIO服务端和客户端

3. 搭建 MinIO 服务端

3.1 在Docker环境中单点单容器运行minIO服务端

3.1.1 在轻量应用服务器界面找到刚才购买的实例

轻量应用服务器界面
轻量应用服务器界面

3.1.2 点击重装系统

重装系统
重装系统

3.1.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20

官方镜像-Docker基础镜像-CentOS8.2-Docker20
官方镜像-Docker基础镜像-CentOS8.2-Docker20

3.1.4 新建容器

新建容器
新建容器
容器配置
容器配置
3.1.4.1 容器基础配置
  • 容器名称:MinIO
  • Docker镜像:ccr.ccs.tencentyun.com/minio/minio-for-cos
  • 版本Tag:latest
  • 启动命令:server /data --console-address ":80"
3.1.4.2 容器高级配置

端口配置

  • 服务器端口 80 容器端口 80 //MinIO控制台页面访问端口
  • 服务器端口 9000 容器端口 9000 //MinIO服务端S3协议访问端口

环境变量

持久化存储-挂载存储卷

  • 服务器目录 /data 容器目录 /data

3.1.5 运行容器

3.1.5.1 待容器创建完成后自动会转为运行中
容器运行中
容器运行中
3.1.5.2 在浏览器中输入 轻量应用云服务器的公网IP地址并访问 MinIO控制台
  • MinIO控制台登陆页面
MinIO控制台登陆页面
MinIO控制台登陆页面
3.1.5.3 创建存储桶并且上传、下载文件
  • 创建存储桶
创建存储桶
创建存储桶
  • 填写存储桶名
填写存储桶名
填写存储桶名
  • 创建完成
创建完成
创建完成
  • 上传文件
上传文件
上传文件
  • 下载文件
下载文件
下载文件

3.2 在Docker环境中单点多容器运行minIO服务端

3.2.1 在轻量应用服务器界面找到刚才购买的实例

轻量应用服务器界面
轻量应用服务器界面

3.2.2 点击重装系统

重装系统
重装系统

3.2.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20

3.2.4 使用Xshell登陆轻量应用服务器并部署应用

3.2.4.1 使用Wget或者Curl下载预先配置好的docker-compose.ymalnginx.conf文件
代码语言:txt
复制
wget https://minio-10067252.cos.ap-guangzhou.myqcloud.com/docker-compose/docker-compose.ymal
wget https://minio-10067252.cos.ap-guangzhou.myqcloud.com/docker-compose/nginx.conf
3.2.4.2 修改docker-compose.yaml文件中的环境变量配置
代码语言:txt
复制
MINIO_ROOT_USER: 登陆MinIO控制台的账号
MINIO_ROOT_PASSWORD: 登陆MinIO控制台的密码
MINIO_SERVER_URL: MinIO服务端公网地址 //示例 http://PublicIP:9000 http://Domain:9000
3.2.4.3 使用docker-compose进行编排和启动容器
代码语言:txt
复制
sudo docker-compose pull
sudo docker-compose up
下载容器镜像
下载容器镜像
3.2.4.4 在浏览器中输入 轻量应用云服务器的公网IP地址并访问 MinIO控制台
  • MinIO控制台登陆页面
MinIO控制台登陆页面
MinIO控制台登陆页面
3.2.4.5 创建存储桶并且上传、下载文件
  • 创建存储桶
创建存储桶
创建存储桶
  • 填写存储桶名并且开启多版本特性
开启多版本特性
开启多版本特性
  • 创建完成
存储桶创建完成
存储桶创建完成
  • 上传两次同一个文件验证多版本生效状态
验证多版本
验证多版本

3.3 在Linux环境中直接运行minIO服务端

3.3.1 在轻量应用服务器界面找到刚才购买的实例

轻量应用服务器界面
轻量应用服务器界面

3.3.2 点击重装系统

重装系统
重装系统

3.3.3 选择官方镜像-系统镜像-CentOS8.2

官方镜像-系统镜像-CentOS8.2
官方镜像-系统镜像-CentOS8.2

3.3.4 使用Xshell登陆轻量应用服务器并部署服务

3.3.4.1 使用Wget或者Curl下载MinIO服务端文件
代码语言:txt
复制
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
3.3.4.2 运行MinIO服务端
  • 设置环境变量
代码语言:txt
复制
export MINIO_ROOT_USER=登陆MinIO控制台的账号
export MINIO_ROOT_PASSWORD=登陆MinIO控制台的密码
export MINIO_SERVER_URL=MinIO服务端公网地址 //示例 http://PublicIP:9000 http://Domain:9000

* MinIO 环境变量详见 https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html?#id5
  • 赋予MinIO服务端文件的执行权限
代码语言:txt
复制
chmod +x minio
  • 启动MinIO服务端并且将/data 作为数据存储的挂载点
代码语言:txt
复制
./minio server /data --console-address ":80"
启动MinIO服务端
启动MinIO服务端
  • 如果是使用兼容腾讯云COS的 MinIO 服务端,可能会提示升级版本,请勿直接执行升级。如确实有升级需要,可以参考教程中的方案,自行修改代码并编译。
3.3.5.2 在浏览器中输入 轻量应用云服务器的公网IP地址并访问 MinIO控制台
  • MinIO控制台登陆页面
MinIO控制台登陆页面
MinIO控制台登陆页面
3.3.5.3 创建存储桶并且上传、下载文件
  • 创建存储桶
创建存储桶
创建存储桶
  • 填写存储桶名
填写存储桶名
填写存储桶名
  • 创建完成
创建完成
创建完成
  • 上传文件
上传文件
上传文件
  • 下载文件
下载文件
下载文件

4. 搭建 MinIO 存储网关

4.1 在Docker环境中单点单容器运行minIO存储网关

4.1.1 在轻量应用服务器界面找到刚才购买的实例

轻量应用服务器界面
轻量应用服务器界面

4.1.2 点击重装系统

重装系统
重装系统

4.1.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20

官方镜像-Docker基础镜像-CentOS8.2-Docker20
官方镜像-Docker基础镜像-CentOS8.2-Docker20

4.1.4 新建容器

新建容器
新建容器
容器配置
容器配置
4.1.4.1 容器基础配置
  • 容器名称:MinIO-GateWay
  • Docker镜像:ccr.ccs.tencentyun.com/minio/minio-for-cos
  • 版本Tag:latest
  • 启动命令:gateway s3 https://cos.ap-guangzhou.myqcloud.com --console-address ":80" //此处请按照实际COS存储桶地域填写,例如广州地域为ap-guangzhou
4.1.4.2 容器高级配置

端口配置

  • 服务器端口 80 容器端口 80 //MinIO控制台页面访问端口
  • 服务器端口 9000 容器端口 9000 //MinIO服务端S3协议访问端口

环境变量

  • MINIO_ROOT_USER = 登陆MinIO控制台的账号 //腾讯云SecretID
  • MINIO_ROOT_PASSWORD = 登陆MinIO控制台的密码 //腾讯云SecretKey
  • MINIO_SERVER_URL = MinIO服务端公网地址 //示例 http://PublicIP:9000 http://Domain:9000
  • MINIO_CACHE_DRIVES = /mnt //缓存数据挂载点
  • MINIO_CACHE_QUOTA = 80 //磁盘空间中的缓存空间总占比限制
  • MINIO_CACHE_AFTER = 3 //当文件请求3次后缓存到本地,不再向腾讯云COS拉取数据
  • MINIO_CACHE_WATERMARK_LOW = 70 //缓存空间低水位线
  • MINIO_CACHE_WATERMARK_HIGH = 90 //缓存空间高水位线
  • MinIO 环境变量详见 https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html?#id5
  • MinIO 存储网关缓存规则详见 https://docs.min.io/docs/minio-disk-cache-guide.html

持久化存储-挂载存储卷

  • 服务器目录 /mnt 容器目录 /mnt

4.1.5 运行容器

4.1.5.1 待容器创建完成后自动会转为运行中
容器运行中
容器运行中
4.1.5.2 在浏览器中输入 轻量应用云服务器的公网IP地址并访问 MinIO控制台
  • MinIO控制台登陆页面
  • 输入刚才创建容器时填写的 腾讯云SecretID作为账号, 腾讯云SecretKey作为密码,登陆MinIO控制台
MinIO控制台登陆页面
MinIO控制台登陆页面
4.1.5.3 借助MinIO存储网关进行上传下载腾讯云COS中的数据
  • 上传文件到腾讯云COS存储桶
上传文件到腾讯云COS存储桶
上传文件到腾讯云COS存储桶
  • 前往腾讯云COS控制台查看文件
腾讯云COS控制台
腾讯云COS控制台
  • 下载文件
下载文件
下载文件

4.2 在Linux环境中直接运行minIO存储网关

4.2.1 在轻量应用服务器界面找到刚才购买的实例

轻量应用服务器界面
轻量应用服务器界面

4.2.2 点击重装系统

重装系统
重装系统

4.2.3 选择官方镜像-系统镜像-CentOS8.2

官方镜像-系统镜像-CentOS8.2
官方镜像-系统镜像-CentOS8.2

4.2.4 使用Xshell登陆轻量应用服务器并部署服务

4.2.4.1 使用Wget或者Curl下载MinIO服务端文件
代码语言:txt
复制
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
4.2.4.2 运行MinIO存储网关
  • 设置环境变量
代码语言:txt
复制
export MINIO_ROOT_USER = 登陆MinIO控制台的账号 //腾讯云SecretID
export MINIO_ROOT_PASSWORD = 登陆MinIO控制台的密码 //腾讯云SecretKey
export MINIO_SERVER_URL = MinIO服务端公网地址 //示例 http://PublicIP:9000 http://Domain:9000
export MINIO_CACHE_DRIVES = "/mnt" //缓存数据挂载点
export MINIO_CACHE_QUOTA = 80 //磁盘空间中的缓存空间总占比限制
export MINIO_CACHE_AFTER = 3  //当文件请求3次后缓存到本地,不再向腾讯云COS拉取数据
export MINIO_CACHE_WATERMARK_LOW = 70 //缓存空间低水位线
export MINIO_CACHE_WATERMARK_HIGH = 90 //缓存空间高水位线

* MinIO 环境变量详见 https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html?#id5
* MinIO 存储网关缓存规则详见 https://docs.min.io/docs/minio-disk-cache-guide.html
  • 赋予MinIO服务端文件的执行权限
代码语言:txt
复制
chmod +x minio
  • 启动MinIO存储网关并且将/data 作为数据存储的挂载点
代码语言:txt
复制
./minio gateway s3 https://cos.ap-guangzhou.myqcloud.com --console-address ":80"  //此处请按照实际COS存储桶地域填写,例如广州地域为ap-guangzhou
启动MinIO存储网关
启动MinIO存储网关
  • 如果是使用兼容腾讯云COS的 MinIO 服务端,可能会提示升级版本,请勿直接执行升级。如确实有升级需要,可以参考教程中的方案,自行修改代码并编译。
4.2.5.2 在浏览器中输入 轻量应用云服务器的公网IP地址并访问 MinIO控制台
  • MinIO控制台登陆页面
  • 输入刚才启动MinIO存储网关时填写的 腾讯云SecretID作为账号, 腾讯云SecretKey作为密码,登陆MinIO控制台
MinIO控制台登陆页面
MinIO控制台登陆页面
4.2.5.3 借助MinIO存储网关进行上传下载腾讯云COS中的数据
  • 上传文件到腾讯云COS存储桶
上传文件到腾讯云COS存储桶
上传文件到腾讯云COS存储桶
  • 前往腾讯云COS控制台查看文件
腾讯云COS控制台
腾讯云COS控制台
  • 下载文件
下载文件
下载文件

5. 参考资料

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2. 环境准备
    • 2.1 腾讯云轻量应用服务器
      • 2.2 下载 MinIO服务端和客户端
      • 3. 搭建 MinIO 服务端
        • 3.1 在Docker环境中单点单容器运行minIO服务端
          • 3.1.1 在轻量应用服务器界面找到刚才购买的实例
          • 3.1.2 点击重装系统
          • 3.1.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20
          • 3.1.4 新建容器
          • 3.1.5 运行容器
        • 3.2 在Docker环境中单点多容器运行minIO服务端
          • 3.2.1 在轻量应用服务器界面找到刚才购买的实例
          • 3.2.2 点击重装系统
          • 3.2.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20
        • 3.3 在Linux环境中直接运行minIO服务端
          • 3.3.1 在轻量应用服务器界面找到刚才购买的实例
          • 3.3.2 点击重装系统
          • 3.3.3 选择官方镜像-系统镜像-CentOS8.2
          • 3.3.4 使用Xshell登陆轻量应用服务器并部署服务
      • 4. 搭建 MinIO 存储网关
        • 4.1 在Docker环境中单点单容器运行minIO存储网关
          • 4.1.1 在轻量应用服务器界面找到刚才购买的实例
          • 4.1.2 点击重装系统
          • 4.1.3 选择官方镜像-Docker基础镜像-CentOS8.2-Docker20
          • 4.1.4 新建容器
        • 4.2 在Linux环境中直接运行minIO存储网关
          • 4.2.1 在轻量应用服务器界面找到刚才购买的实例
          • 4.2.2 点击重装系统
          • 4.2.3 选择官方镜像-系统镜像-CentOS8.2
          • 4.2.4 使用Xshell登陆轻量应用服务器并部署服务
      • 5. 参考资料
      相关产品与服务
      轻量应用服务器
      轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档