对象存储

Sealos 对象存储提供企业级云存储解决方案,支持S3兼容接口、多语言SDK集成和精细权限管理。

【对象存储】是 Sealos 内置的对象存储服务,主要用于存储和管理非结构化数据。它提供了安全、可靠、高性能的云存储解决方案,支持从小型应用到大规模分布式系统的各类存储需求。

目前对象存储具备以下功能:

  • 上传文件到存储桶;
  • 从存储桶下载文件;
  • 公开存储桶的访问权限;
  • 使用 SDK 访问存储桶;
  • 监控存储桶资源指标;
  • 静态托管。

基本使用

创建存储桶

打开 Sealos 控制台,找到并点击【对象存储】应用图标。

Sealos 对象存储

在对象存储应用界面中,点击【创建存储桶】按钮,输入存储桶名称,设置存储桶的访问权限,然后点击右上角的【应用】按钮。

Sealos 对象存储控制台创建存储桶操作界面

存储桶权限说明:

  • private (私有访问):仅允许经过身份验证的用户访问存储桶内容,适用于存储敏感数据或内部使用
  • publicRead (公共读):允许所有人读取存储桶内对象 (无需身份验证),但写入操作仍需认证,适用于内容分发、静态网站托管等场景
  • publicReadWrite (公共读写):开放完整的读写权限 (需谨慎使用),适用于需要临时文件共享或协作的场景,生产环境不建议开启

上传文件

Sealos 对象存储支持灵活的文件管理操作,以下是详细的上传指南:

进入目标存储桶

  1. 进入【对象存储】应用界面
  2. 在存储桶列表中选择目标存储桶
  3. 导航至需要上传文件的目录 (默认为根目录)

执行上传操作

  1. 点击顶部工具栏的【上传】按钮
  2. 在文件 (夹) 选择器中:
    • 选择【文件】,会打开系统的文件浏览器,选择单个或多个文件进行批量上传
    • 选择【文件夹】,也会打开系统的文件浏览器,选择整个文件夹进行目录结构保持式上传
  3. 点击【上传】按钮启动传输

Sealos 对象存储上传文件操作界面

修改访问权限

进入存储桶设置

  1. 进入【对象存储】应用
  2. 在存储桶列表中找到并点击目标存储桶
  3. 点击存储桶名称右上角的【编辑】按钮

Sealos 存储桶权限设置入口

选择权限类型

在存储桶权限设置面板中选择新的访问级别:

  • private:仅允许通过访问密钥认证的用户访问
  • publicRead:允许匿名用户读取对象 (推荐用于静态网站托管)
  • publicReadWrite:允许匿名用户读写操作 (开发测试环境慎用)

确认当前存储桶中无敏感数据 (当改为公共权限时),然后点击【应用】按钮即可生效。

获取访问密钥

访问密钥是访问对象存储服务的数字凭证,包含 AccessKeyID 和 SecretAccessKey。以下是获取访问密钥的完整步骤:

在存储桶列表中选择目标存储桶,点击左下角的【访问密钥】按钮。

Sealos 对象存储访问密钥获取入口

在弹出的窗口中,可以看到当前存储桶的 Access Key、Secret Key、Internal 和 External 的值。其中 Access Key 和 Secret Key 是访问对象存储服务的凭证,Internal 是对象存储的内部访问地址,External 是对象存储的外部访问地址。

Sealos 对象存储访问密钥获取结果

静态网站托管

Sealos 对象存储提供完整的静态网站托管解决方案,支持自动生成访问地址、自定义域名配置等功能。以下是配置静态网站托管的完整指南:

创建可访问存储桶

  1. 新建或选择现有存储桶,确保其访问权限设置为 publicReadpublicReadWrite
  2. 在存储桶详情页,点击顶部工具栏的【打开托管】按钮

启用 Sealos 对象存储静态托管功能

访问托管网站

  1. 启用静态托管后,系统会自动生成访问地址
  2. 点击访问地址,在新标签页打开网站
  3. 确保存储桶内已上传 index.html 作为默认首页

查看静态网站访问地址

配置自定义域名

  1. 在存储桶右上角点击三个点,选择【自定义域名】,会直接跳转到【应用管理】的应用变更界面
  2. 接下来的操作和【应用管理】的自定义域名配置一致,请参考应用管理的自定义域名配置

Sealos 对象存储自定义域名配置

使用 SDK 访问对象存储

Sealos 对象存储支持多种语言的 SDK,接下来介绍如何在 Sealos Devbox 中使用 SDK 访问对象存储。

准备工作

在开始之前,请确保:

安装 SDK

在 IDE 终端中,使用以下命令安装特定语言的 SDK:

go get github.com/minio/minio-go/v7

On this page