news 2026/4/9 7:28:54

别光说不练,10分钟带你从零搭建RustFS集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别光说不练,10分钟带你从零搭建RustFS集群

看了那么多RustFS的文章,是不是已经手痒了,想亲自上手试试它到底有多猛?

别急,今天我就不带大家云评测了,直接上干货。咱们从最简单的Docker单机部署开始,一步步搭起一个生产可用的RustFS集群。跟着我的节奏,10分钟内,你就能拥有一个属于自己的高性能对象存储服务!

第一步:先用Docker跑个单节点尝尝鲜

对于想快速体验的同学来说,Docker无疑是最佳选择。RustFS官方提供了非常轻量的镜像,拉取和启动都是秒级。

打开你的终端,就一行命令,搞定:

docker run -d --name rustfs-single \ -p 9000:9000 -p 9001:9001 \ -v /data/rustfs:/data \ quay.io/rustfs/rustfs server \ /data --console-address ":9001"

我来简单解释下这行命令:

  • ​-p 9000:9000​:这是RustFS的API服务端口,你程序里要连的就是它。

  • ​-p 9001:9001​:这是内置的Web控制台端口,用浏览器访问。

  • ​-v /data/rustfs:/data​:把容器里的/data​目录挂载到你本地的/data/rustfs​,这样数据就不会丢了。

  • ​quay.io/rustfs/rustfs server ...​:启动RustFS服务,并告诉它把控制台开在9001端口。

命令跑完,打开浏览器访问 http://localhost:9001​,是不是看到了熟悉的登录界面?

默认的Access Key​和Secret Key​都是rustfsadmin​,进去之后就能创建Bucket、上传文件了。简单吧?这就像玩单机游戏,我们先熟悉下操作。

第二步:上难度!用Docker Compose搭个3节点集群

单机玩腻了?那我们来点刺激的——搭一个真正的分布式集群。在分布式世界里,单点故障是大忌,RustFS集群模式可以轻松搞定高可用。

这次我们用docker-compose​来编排,创建一个名为docker-compose.yml​的文件,然后把下面的内容贴进去:

version: '3.8' services: rustfs-1: image: quay.io/rustfs/rustfs command: server /data --console-address ":9001" ports: - "9001:9001" environment: - RUSTFS_SERVERS=rustfs-1,rustfs-2,rustfs-3 volumes: - ./data-1:/data rustfs-2: image: quay.io/rustfs/rustfs command: server /data environment: - RUSTFS_SERVERS=rustfs-1,rustfs-2,rustfs-3 volumes: - ./data-2:/data rustfs-3: image: quay.io/rustfs/rustfs command: server /data environment: - RUSTFS_SERVERS=rustfs-1,rustfs-2,rustfs-3 volumes: - ./data-3:/data

这个配置文件的关键点在于 RUSTFS_SERVERS​ 这个环境变量。我们通过它告诉每个节点,集群里都有哪些“兄弟”。这样它们之间就能互相通信,组成一个有机的整体。

在docker-compose.yml​所在的目录,执行:

docker-compose up -d

稍等片刻,一个3节点的RustFS集群就跑起来了!你现在可以通过 http://localhost:9001​ 访问rustfs-1​的控制台。上传一个文件,你会发现数据被自动打散并冗余存储到了三个节点上。拔掉任意一个节点的网线,你的文件依然安然无恙。是不是很酷?

第三步:终极形态!Kubernetes一键部署

好了,Docker Compose虽然方便,但终究是“玩具”。在生产环境,尤其是云原生架构下,Kubernetes(K8s)才是王道。

RustFS官方非常贴心地提供了Helm Chart,这让在K8s上部署变得和安装一个App一样简单。

首先,添加RustFS的Helm仓库:

helm repo add rustfs https://helm.rustfs.io helm repo update

然后,一条命令就能部署一个高可用的RustFS集群:

helm install my-rustfs rustfs/rustfs \ --namespace rustfs-system --create-namespace \ --set replicaCount=4 \ --set persistence.size=100Gi \ --set consoleIngress.enabled=true \ --set consoleIngress.hosts[0].host=rustfs.example.com

看,你只需要指定几个关键参数:

  • ​replicaCount=4​:我要4个节点组成集群。

  • ​persistence.size=100Gi​:每个节点用100G的持久化存储。

  • ​consoleIngress​:通过Ingress把Web控制台暴露出去,方便访问。

Helm会自动帮你创建StatefulSet、Service、PVC等一堆K8s资源,几分钟后,一个生产级的RustFS集群就在你的K8s里安家落户了。

总结一下

好了,从单机到集群再到K8s,RustFS的部署路径是不是很清晰?

  • 想快速体验 -> Docker单机跑。

  • 想测试分布式功能 -> Docker Compose搭集群。

  • 想上生产 -> Helm上K8s。

现在,你的RustFS集群已经跑起来了,快去用AWS CLI或者你熟悉的S3 SDK试试它的API吧!感受一下那原生的性能和丝滑的体验。

遇到什么问题?或者有什么骚操作?评论区见!


以下是深入学习 RustFS 的推荐资源:RustFS

官方文档: RustFS 官方文档- 提供架构、安装指南和 API 参考。

GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。

社区支持: GitHub Discussions- 与开发者交流经验和解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/5 14:47:28

Pixel Streaming 实战配置

目录 Pixel Streaming 配置分辨率 Pixel Streaming 配置分辨率 (1) 命令行参数) 启动 UE5 的 Pixel Streaming 服务器时,可以在命令行里加: PixelStreamingURLhttp://127.0.0.1:8888 ResX1920 ResY1080 或者在 Windows 打包的 .exe 后面:…

作者头像 李华
网站建设 2026/4/5 13:25:49

不平衡电压下的DSOGI - PLL锁相环C语言实现及STM32F407验证

锁相环纯代码(C语言),不平衡电压下的锁相环,采用双二阶广义积分器(DSOGI-PLL),整个系统由simulink中的s-function模块进行编写,采用C语言进行编写,包括整个系统离散化&am…

作者头像 李华
网站建设 2026/4/9 0:14:08

深入AI原生应用领域,剖析Llama技术架构

深入AI原生应用领域,剖析Llama技术架构关键词:AI原生应用、Llama模型、大语言模型架构、Transformer、多模态交互摘要:本文将从AI原生应用的时代背景出发,以"智能咖啡馆"的故事为引,用"搭积木"般的…

作者头像 李华