Helm在Kubernetes上部署RustFS生产环境指南

保姆级教程:用Helm在K8s上部署RustFS对象存储(含Local Path配置与Ingress暴露) 本文提供了一份详细的Kubernetes实战指南,介绍如何使用Helm在K8s集群上部署RustFS对象存储系统。内容涵盖Local Path Provisioner配置、Ingress暴露、存储节点规划等关键步骤,并包含生产环境优化建议与故障排查技巧,帮助开发者快速实现云原生存储解决方案。 阅读详情

Helm在Kubernetes上部署RustFS生产环境指南

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

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

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

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


我们 AI 平台原来的存储是单机 NFS,挂了就全挂。后来试过 Ceph,太复杂。最后选了 RustFS,因为部署简单、性能还行。这里记录一下用 Helm 部署的过程和一些踩坑经验。

1. 准备工作

K8s 版本 1.28+,Helm 3.12+。存储节点最好用 NVMe SSD,万兆网络起步。

我们环境:

  • 3 个 master,6 个 worker(存储专用)
  • 每个 worker 挂 4 块 3.84TB NVMe
  • 网络:RoCE + RDMA(可选,没有也能跑)

节点简单优化了一下(内核参数、磁盘调度),贴个脚本:

cat <<EOF >> /etc/sysctl.conf
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
vm.swappiness = 10
EOF
sysctl -p

# NVMe 调度改成 none
for d in /dev/nvme*n1; do echo none > /sys/block/$(basename $d)/queue/scheduler; done

2. 添加 Helm 仓库

官方 Helm Chart 仓库地址是 https://rustfs.github.io/helm/。

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

搜一下看看有什么:

helm search repo rustfs

3. 了解官方支持的部署模式

RustFS 的 Helm Chart 支持两种模式:

模式说明Pod 数量PVC 配置
Standalone单节点单磁盘,适合开发测试11 个 PVC(数据)+ 1 个 PVC(日志)
Distributed(默认)多节点多磁盘,生产环境高可用4 或 16每个 Pod 4 个 PVC,或每个 Pod 1 个 PVC

官方原文:

"For standalone mode, there is only one pod and one pvc; for distributed mode, there are two styles, 4 pods and 16 pvcs(each pod has 4 pvcs), 16 pods and 16 pvcs(each pod has 1 pvc)."

4. 准备 values 文件

生产环境我用的是 Distributed 模式,4 个 Pod,每个 Pod 挂 4 块盘。values-prod.yaml:

# 部署模式:分布式(默认就是,但显式写一下)
mode:
  distributed:
    enabled: true
  standalone:
    enabled: false

# 节点数量(官方支持 4 或 16)
replicaCount: 4

# 资源配置
resources:
  requests:
    cpu: "2"
    memory: "8Gi"
  limits:
    cpu: "4"
    memory: "16Gi"

# 存储配置
persistence:
  enabled: true
  size: "3Ti"    # 根据实际磁盘大小调整

# 服务暴露
service:
  type: LoadBalancer
  port: 9000

# 认证凭证(生产环境必须改)
secret:
  rustfs:
    access_key: "your-access-key"
    secret_key: "your-secret-key"

注意:如果不设置 secret.rustfs.access_key​ 和 secret.rustfs.secret_key​,默认是 rustfsadmin/rustfsadmin。生产环境务必改掉。

5. 安装

创建一个命名空间,然后安装:

kubectl create ns rustfs
helm install my-rustfs rustfs/rustfs \
  --namespace rustfs \
  --values values-prod.yaml

等几分钟,看 Pod 状态:

kubectl get pods -n rustfs -w

正常应该看到 4 个 rustfs-* Pod 变成 Running。

如果要装 16 节点分布式模式:

helm install my-rustfs rustfs/rustfs --namespace rustfs --create-namespace --set replicaCount=16

如果要装 Standalone 模式(开发测试):

helm install my-rustfs rustfs/rustfs --namespace rustfs --create-namespace \
  --set mode.standalone.enabled=true \
  --set mode.distributed.enabled=false

6. 验证

暴露的服务如果是 LoadBalancer,拿外部 IP:

kubectl get svc -n rustfs

然后用 mc 客户端连一下试试:

mc alias set myrustfs http://<EXTERNAL-IP>:9000 <access-key> <secret-key>
mc ls myrustfs

能列出来就是好了。

7. 踩过的坑

7.1 副本数必须与存储节点匹配

Distributed 模式下,每个 Pod 会挂载 PVC。如果 replicaCount 设置得比可用节点还多,多余的 Pod 会 Pending,因为 PVC 无法调度到没有剩余存储的节点上。

7.2 默认没有监控

官方 Chart 不带 Prometheus exporter,要监控的话得自己用 sidecar 或者装个单独的 metrics 容器。我们懒得弄,就接了个 node exporter 看磁盘和网络。

8. 日常运维

升级

helm repo update
helm upgrade my-rustfs rustfs/rustfs --namespace rustfs -f values-prod.yaml

扩容

改 values-prod.yaml​ 里的 replicaCount​(只能从 4 改成 16,不能改成其他数字),然后 helm upgrade。注意新加的节点要有相同的存储能力。

备份

RustFS 本身没有内置备份工具,我们用的 velero 定期备份 PVC 快照:

velero backup create rustfs-backup --include-namespaces rustfs

9. 性能怎么样?

我们实测单客户端读 1.2GB/s,写 800MB/s 左右(10Gb 网络,NVMe 盘)。P99 延迟大约 8-12ms,够用了。

10. 总结

RustFS + Helm 部署确实比 Ceph 省心不少。主要优点:

  • 一条 helm install 就起来,不用手工调一堆配置
  • 分布式模式自带多副本,节点挂了一个不影响读写
  • 升级回滚方便

缺点也有:

  • 文档有点散,仓库地址容易搞错
  • 监控、告警需要自己补

如果你们也是小团队,不想折腾 Ceph,可以试试这个。


参考链接

RustFS on Kubernetes:Helm Chart从单机到分布式部署实践 对象存储以桶和对象的扁平结构组织数据,通过HTTP风格API读写,天然适合Kubernetes生态中的日志、备份、AI样本等场景。自建S3兼容存储时,MinIO虽常见,但资源占用和许可证问题不容忽视。RustFS作为纯Rust实现的对象存储,单个二进制即可运行,内存占用低,且支持sled、redb、sqlite三种存储引擎。借助官方Helm Chart,你能通过replicaCount、cluster.enabled等参数在K8s上快速部署单机或分布式形态,无需手写复杂YAML。分布式模式基于多数派协议保证 阅读详情

相关推荐

RustFS Helm Kubernetes生产部署:高并发对象存储落地实践

对象存储是云原生架构中非结构化数据管理的核心基础设施,其性能、一致性与可运维性直接决定AI训练、智能驾驶等实时数据平台的稳定性。RustFS凭借Rust语言实现的零拷贝内存池、低延迟WAL和高效纠删码,在吞吐与资源效率上显著优于传统Go系方案;而Helm作为Kubernetes声明式交付的事实标准,通过values统一配置、环境隔离、原子回滚与安全校验四大能力,将RustFS的工程优势转化为生产级SLA保障。本文聚焦真实金融、医疗与工业场景,详解如何基于Ubuntu 22.04+K8s v1.28环境,完成

weixin_32932149的博客 300

POJ1990 MooFest——树状数组——Pku1990

维护两个树状数组,一个记录这个坐标所控制的范围内的奶牛个数,另外一个记录这个坐标所控制范围内的奶牛坐标之和。 program poj1990;//by_poetshyconst maxn=20000;var i,n :longint; p,m,ans :int64; ...

weixin_34405354的博客 141

从零到生产:手把手教你用Helm在K8s上部署高可用RustFS集群(附避坑清单)

本文详细指导如何使用Helm在Kubernetes(K8s)上部署高可用的RustFS集群,涵盖环境准备、Helm部署实战、高可用架构设计、性能调优及避坑清单。特别针对云原生存储场景,提供硬件配置、内核参数调校、安全加固及实时诊断技巧,帮助开发者快速实现生产级部署。

weixin_30952535的博客 397

实战:基于Local Path Provisioner与Helm的RustFS云原生存储部署详解

本文详细介绍了基于Local Path Provisioner与Helm的RustFS云原生存储部署实战。通过解析RustFS的核心优势,包括Rust语言实现的内存安全特性和高性能表现,结合Kubernetes环境中的存储供给方案,提供了从节点存储配置到Helm Chart深度定制的完整指南。文章还分享了生产环境中的运维要点和性能调优经验,帮助开发者高效部署和管理云原生存储系统。

weixin_28455801的博客 84

Helm部署RustFS生产实践:高吞吐分布式文件系统落地指南

分布式文件系统是现代云原生架构的关键存储底座,其核心能力在于高吞吐、低延迟与强一致性。RustFS作为专为此目标设计的Rust语言实现系统,依赖Kubernetes进行弹性调度与生命周期管理,而Helm凭借参数化模板、版本语义校验和钩子机制,成为生产级部署不可替代的编排工具。相比裸YAML或Kustomize,Helm能自动处理多角色组件(如Metadata Server、Data Node)的状态协同、资源约束校验与灰度策略注入,尤其适配NVMe SSD等高性能存储类的精准绑定。本文聚焦真实业务场景——亿

weixin_32325225的博客 319

K8s上部署RustFS对象存储:Helm Chart从单机到分布式实战

对象存储是现代云原生架构的基石,而S3兼容协议已成为事实标准,让业务迁移成本大幅降低。在Kubernetes环境中部署有状态服务,传统的手工YAML方式随着版本升级与节点扩缩容变得难以维护。Helm作为K8s的包管理工具,通过模板化、参数化与版本化,将复杂的有状态应用交付简化为一条命令。RustFS作为一款基于Rust实现的S3兼容对象存储,凭借内存安全、高并发与轻量部署等特性,正成为MinIO之外的热门选择。其官方Helm Chart打通了从单机开发测试到分布式生产集群的完整路径,使团队无需自研Opera

weixin_30846347的博客 67

RustFS容器编排:Kubernetes部署指南

你是否正面临分布式存储在Kubernetes环境下的部署难题?作为比MinIO性能更优的分布式对象存储方案,RustFS的容器化部署需要解决**持久化存储配置**、**分布式节点通信**、**动态扩缩容**三大核心挑战。本文将系统讲解如何基于Kubernetes实现RustFS的高可用部署,包含从环境准备到性能优化的全流程解决方案。 读完本文你将掌握: - 使用StatefulSet实现Rust...

gitblog_00380的博客 1182

在Kubernetes中用Helm部署RustFS:从单机到分布式对象存储实践

对象存储是云原生架构中不可或缺的基础设施,S3协议则成为事实上的接口标准。随着Kubernetes普及,如何以声明式方式快速部署可用、可扩展的存储服务成为工程团队关注的重点。Helm作为Kubernetes的包管理工具,封装了StatefulSet、Service、PVC等资源编排逻辑,降低了分布式系统的部署门槛。RustFS作为一款基于Rust实现、兼容S3 API的轻量级对象存储,以其低资源占用和高吞吐特性,为中小团队提供了介于MinIO和Ceph之间的新选择。本文从单机验证入手,逐步演进到三节点和五节

weixin_32325225的博客 211

Docker+K8s部署RustFS集群:十分钟搞定高可用分布式存储

本文详细介绍了RustFS分布式存储系统的核心优势与部署方案。RustFS凭借其轻量级设计(<100MB)、高性能(比MinIO快40%+)、S3协议兼容等特性,成为云原生环境下的理想存储选择。文章提供了从Docker单节点快速部署到Kubernetes生产级集群搭建的完整流程,包含环境准备、Helm图表配置、资源配额设置等关键步骤。同时分享了性能优化建议(SSD存储、线程池调优)、安全实践(TLS加密、密钥轮换)以及常见故障排查方法。通过本指南,开发者可在十分钟内完成企业级分布式存储系统的部署。

分布式存储与RustFS的博客 2508

实战:RustFS云原生Kubernetes高可用部署与性能调优

本文详细介绍了在Kubernetes上高可用部署RustFS的实战指南。通过规划多节点架构、部署Local Path Provisioner管理本地存储,并使用Helm进行配置,实现了RustFS的云原生化。文章还涵盖了性能调优、资源调度策略以及通过Ingress暴露服务等关键步骤,旨在构建一个稳定、自动化且易于维护的分布式对象存储服务。

weixin_29208327的博客 114

别再问ARM麒麟怎么装微信了!手把手教你用铠大师搞定Windows软件(飞腾/海思芯片实测)

本文详细介绍了如何在ARM架构的信创电脑(如飞腾/海思芯片)上使用铠大师安装和运行Windows软件,解决微信、Office等常用软件的兼容性问题。通过实测数据对比,铠大师在性能和易用性上显著优于传统方案,为麒麟系统用户提供了一套完整的解决方案。

weixin_28736355的博客 886

附057.RustFS云原生Kubernetes部署指南

RustFS是一款基于Rust语言开发的高性能分布式对象存储软件,具有内存安全、开源自由等特点,100%兼容S3协议。文章详细介绍了在Kubernetes集群中部署RustFS的流程:首先规划部署模式(采用4Pod+16PVC的分布式模式),然后通过自动化脚本为所有节点准备存储设备并挂载到指定路径。接着部署local-path-provisioner为RustFS提供PVC支持,修改配置使其数据落盘到指定节点。部署方案包含详细的脚本代码和配置说明,适用于Linux环境下的私有云部署。

木二 1505

大模型的安全发展与安全治理

2022 年底,OpenAI 推出的 ChatGPT 在文本生成领域实现了重大突破,引领了大模型技术的发展方向,推动了各式各样的基座大模型及行业大模型的发展,并逐步向多模态和具身化方向迅速演进。显然,大模型展现出的强大能力为人工智能通用化揭开了序幕。然而,大模型技术的安全性也面临着生成内容的安全性、伦理道德等重大挑战。只有积极确保大模型的安全性,才能更有效地推动其持续发展,进而更好地应对大模型技术变革所带来的机遇与挑战。

qq_41432686的博客 2582

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

本文提供RustFS从单机到集群的完整部署指南。首先介绍Docker单机部署,仅需一行命令即可体验基本功能;其次通过docker-compose搭建3节点集群实现高可用;最后讲解使用Helm在Kubernetes上部署生产级集群的方法。文章清晰呈现了RustFS的渐进式部署路径:Docker单机适合快速体验,Docker Compose可测试分布式功能,K8s Helm方案则适用于生产环境。部署完成后,用户可通过Web控制台或S3 SDK进行操作体验。文末还推荐了官方文档、GitHub仓库等深入学习资源。

分布式存储与RustFS的博客 1684

Python小白也能玩转迅投QMT量化交易?手把手教你从安装到第一个策略

本文为零基础Python用户提供了上手迅投QMT量化交易平台的完整指南。从Python 3.6环境配置、QMT客户端获取安装,到核心概念讲解,并手把手教你编写并回测一个经典的双均线交易策略,帮助初学者快速迈出量化交易的第一步。

weixin_29103191的博客 763

用Blender给ArduPilot无人船编队设计灯光秀:从建模到飞行的保姆级教程

本文详细介绍了如何利用Blender和ArduPilot为无人船编队设计灯光秀的全流程技术方案。从3D动画设计、坐标转换、数据导出到ArduPilot飞控配置和灯光控制,提供了一套完整的保姆级教程,帮助开发者实现水面灯光编队表演。

weixin_29213525的博客 384

实战:基于RustFS+K8s,构建高可用云原生存储架构

通过本文的实战指南,我们完整展示了基于RustFS和Kubernetes构建高可用云原生存储架构的全过程。RustFS凭借其​卓越的性能​、云原生友好架构和​完善的S3兼容性,成为现代云原生应用的理想存储选择。​关键收获​快速部署:使用Helm可在10分钟内完成生产级集群部署​高可用保障:通过多节点部署和拓扑分布约束实现故障自动恢复​性能优化:合理的资源配置和参数调优可充分发挥RustFS性能优势​运维便捷:丰富的监控和管理工具简化日常运维复杂度。

2401_89221867的博客 1060

用ADS2023手把手仿真SKYWORKS SMA1234变容二极管:从Datasheet到S参数结果全流程

本文详细介绍了如何使用ADS2023仿真SKYWORKS SMA1234变容二极管的全流程,从Datasheet参数解析到S参数结果验证。通过等效电路建模、关键公式编写和仿真设置,帮助工程师掌握变容二极管在射频电路设计中的应用技巧,提升仿真精度和工程实践能力。

weixin_29233333的博客 501

给 Kubernetes 找一个对象存储后端:RustFS Helm 部署 + 应用接入实录

RustFS 是一款基于 Rust 开发的分布式 S3 兼容对象存储,采用 Apache 2.0 协议,适合 AI 训练、日志归档等场景,支持 Kubernetes 原生部署。与块存储(PVC/CSI)相比,对象存储天然支持多节点并发访问、无需锁管理,且扩容更灵活。 部署步骤: 通过 Helm Chart 快速安装 RustFS 集群,默认 4 节点,数据存储在 PVC 中(生产需调整容量); 应用通过 S3 API(端口 9000)访问,默认凭证需替换,支持环境变量注入或 Secret 配置;。

分布式存储与RustFS的博客 824

systemView的安装使用

systemView的安装使用

qq_33712422的博客 3956

飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由(如何解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题)

飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由

XiaoqiangClub的博客 1万+

RustFS 重要版本变更,让容器化部署更安全

RustFS在1.0.0-alpha.68版本中加强了容器安全措施,改用非root用户运行。该变更导致部分Docker用户升级后出现权限问题,解决方案是修改数据目录的所有者为UID 1000。Kubernetes用户不受影响,因其已通过initContainer处理权限。文章提供了详细的升级指南和Docker Compose示例配置,并介绍了RustFS的多种安装方式。这一安全改进遵循行业最佳实践,仅影响容器化部署的特定版本用户。

新一代高性能分布式对象存储系统 542

【碳排放数据集】全球近实时网格化二氧化碳排放数据集GRACED

【碳排放数据集】全球近实时网格化二氧化碳排放数据集GRACED

WW、forever的博客 145

RustFS Helm生产实践:Kubernetes元数据协处理器部署与加固

对象存储元数据服务是现代云原生架构的关键组件,其性能与可靠性直接影响小文件吞吐、迁移一致性及SLA达成。RustFS作为轻量级元数据协处理器,不替代MinIO等数据面存储,而是专注提供强一致命名空间管理、细粒度锁控制与原子重命名能力,依托Raft共识与gRPC/HTTP双接口,在Kubernetes中实现高可用元数据调度。通过Helm Chart契约化交付,可声明式定义拓扑感知调度、WAL/data存储分离、TLS双向认证及可观测性策略,显著降低亿级小文件场景下的延迟毛刺与运维复杂度。本文聚焦RustFS在

weixin_30219613的博客 312

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

K8s存储运维避坑指南:用RustFS搭建高可用集群时我踩过的5个坑

本文分享了在K8s集群中使用RustFS搭建高可用存储架构时遇到的5个典型问题及解决方案,包括Helm部署镜像拉取、持久化卷节点亲和性、网络策略监控失效、资源配额OOM和监控标签污染等关键挑战,为云原生存储运维提供实用避坑指南。

weixin_29248653的博客 365

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 我拿着NVIDIA Inception的邀请函,去探访了RustFS团队的真实故事
下一篇: RustFS Beta 正式发布:从可用到稳定,对象存储国产替代迎来里程碑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值