当前位置: 首页 > news >正文

为K8s集群装上“云硬盘”:高可用块存储Longhorn离线部署指南

全文开始

在Kubernetes上运行数据库、消息队列等有状态应用时,我们总会面临一个灵魂拷问:当Pod在节点间迁移或节点故障时,如何保证数据不丢失,并快速恢复服务?原生K8s的卷管理提供了基础能力,但在生产环境中,我们往往需要企业级的存储特性:如跨节点的数据高可用、秒级创建的数据快照,以及可编排的备份恢复策略。

Longhorn应运而生,它是一款轻量级、功能强大且完全开源的云原生分布式块存储系统。它直接运行在你的K8s集群内,将每个节点的本地硬盘聚合起来,为集群提供如同公有云“云硬盘”般的网络块存储服务。其最大的魅力在于极简的设计哲学:通过为每个卷启动一个专属的存储控制器(Controller)和数据副本引擎(Engine),实现了细粒度的管理和故障隔离

本文将带你深入部署和配置Longhorn,为你集群中的有状态应用,筑起一道可靠的数据防线。

为什么用 Longhorn

Longhorn作为云原生存储方案,核心优点如下:

  1. 极简的云原生集成:作为K8s原生应用,安装即是Operator,通过CSI驱动无缝集成,管理逻辑与K8s完全一致。
  2. 极致的高可用与容错:每个存储卷(Volume)独立控制器(Controller)与副本引擎(Engine),实现故障的细粒度隔离与秒级自动故障转移。
  3. 强大的数据运维能力:支持秒级创建一致性快照、基于快照的链式增量备份,并可一键将备份恢复到新卷或异地集群。
  4. 轻量级与可视化:无外部中间件依赖,资源占用小;提供清晰直观的Web UI,使分布式存储的监控和管理一目了然。
  5. 开源与企业级特性:100%开源,具备多副本、数据压缩等企业级功能,是构建on-premise私有云存储栈的可靠选择。

总结:Longhorn以K8s原生的方式,为有状态应用提供了操作简便、稳定可靠、功能全面的持久化存储解决方案。

数据盘准备

# 准备一块独立的硬盘挂在到 /var/lib/longhornmkfs.ext4 /dev/sdbmkdir/var/lib/longhorn# 设置自动挂载echo'/dev/sdb /var/lib/longhorn ext4 defaults 0 0'>>/etc/fstab systemctl daemon-reloadmount-a

安装依赖

该组建依赖iscsi

yuminstall-y dump iscsi-initiator-utils systemctlenableiscsid --now systemctl status iscsid

安装 Longhorn

这里只展示了部分yaml文件,完整的yaml文件有三千多行,建议文末下载资料包,里面有完整可用的longhorn.yaml文件

---# Builtin: "helm template" does not respect --create-namespaceapiVersion:v1kind:Namespacemetadata:name:longhorn-system---# Source: longhorn/templates/priorityclass.yamlapiVersion:scheduling.k8s.io/v1kind:PriorityClassmetadata:name:"longhorn-critical"labels:app.kubernetes.io/name:longhornapp.kubernetes.io/instance:longhornapp.kubernetes.io/version:v1.9.1description:"Ensure Longhorn pods have the highest priority to prevent any unexpected eviction by the Kubernetes scheduler under node pressure"globalDefault:falsepreemptionPolicy:PreemptLowerPriorityvalue:1000000000---# Source: longhorn/templates/serviceaccount.yamlapiVersion:v1kind:ServiceAccountmetadata:name:longhorn-service-accountnamespace:longhorn-systemlabels:app.kubernetes.io/name:longhornapp.kubernetes.io/instance:longhornapp.kubernetes.io/version:v1.9.1---# Source: longhorn/templates/serviceaccount.yamlapiVersion:v1kind:ServiceAccountmetadata:name:longhorn-ui-service-accountnamespace:longhorn-systemlabels:app.kubernetes.io/name:longhornapp.kubernetes.io/instance:longhornapp.kubernetes.io/version:v1.9.1---# Source: longhorn/templates/serviceaccount.yamlapiVersion:v1kind:ServiceAccountmetadata:name:longhorn-support-bundlenamespace:longhorn-systemlabels:app.kubernetes.io/name:longhornapp.kubernetes.io/instance:longhornapp.kubernetes.io/version:v1.9.1

创建应用

# 1. 先导入镜像,镜像在资源包里面有,总共有三个nerd load -i longhorn_images_1.tar nerd load -i longhorn_images_2.tar nerd load -i longhorn_images_3.tar# 2. 将镜像导入到私有镜像仓库或者每个worker节点都导入这三部分镜像# 3. 创建应用kubectl apply -f longhorn.yaml

等待所有的pod创建完毕,在服务中可以看到一个服务名为longhorn-frontend的服务,给该服务手动添加一个外部IP地址(externalIPs),外部IP地址可以是k8s任意一个节点的IP地址,然后浏览器访问该IP地址即可。

全文结束

当你在Longhorn的简洁UI中,看到第一个持久卷(PV)成功创建、并顺利挂载到Pod时,就意味着你的K8s集群获得了一项至关重要的原生能力:对数据生命周期的自主控制权

Longhorn的成功部署,不仅仅是安装了一个存储驱动。它标志着你的集群从“仅能运行无状态应用”进阶到“可稳健承载核心有状态服务”的新阶段。它提供的可视化操作、精细化的监控和基于快照的备份流,将存储运维从黑盒变成了白盒,极大地降低了数据管理的风险和复杂度。

至此,你已为集群装上了可靠的“云硬盘”。接下来,便是以数据安全为基石,去设计和部署那些真正承载业务价值的核心应用了。

实践之后:你计划使用Longhorn为哪个有状态应用(如MySQL、Redis等)提供存储?在结合特定应用时,你调整了哪些关键的存储参数?欢迎在评论区分享你的场景与配置心得。

资料领取

关注微信公众号云原生运维之道,找到原文:https://mp.weixin.qq.com/s/5i9D9kbleHHI3j_zK7-ybw

或者加 v:qiaoyebufan,备注 “领取k8s资料”。

http://www.cnnetsun.cn/news/151496.html

相关文章:

  • 课程论文自救指南:如何在48小时内完成一篇优秀课程论文
  • Open-AutoGLM vs 竞品:谁才是长链路AI任务处理的真正王者?
  • Web安全测试
  • 当AI实现想法易如反掌时,洞见真正的需求成为关键——某知名密码分析工具的用户反馈挖掘
  • 【干货收藏】企业AI架构实战指南:从框架搭建到场景落地的底层逻辑
  • 收藏这份2025AI高薪指南!大厂抢人大战开启,小白程序员学习大模型正当时
  • 13、FPGA更新与可编程性:安全与应用解析
  • 18、多核心可重构嵌入式系统的安全设计与实现
  • 双非本科生的AI行业逆袭之路:我的经验与心得分享!
  • 运维岗位这么多,你适合哪一个
  • 基于微信小程序的在线家庭娱乐系统毕业设计源码
  • 为什么90%的企业用不好Open-AutoGLM?:硬件选型不当成最大瓶颈(附行业适配白皮书)
  • 模型体积缩小80%仍保持95%精度?Open-AutoGLM量化策略深度拆解
  • 2026年AI产品经理终极学习路线:传统产品经理的转型指南,超详细攻略,不容错过!
  • 【AI Agent可靠性突围】:Open-AutoGLM 7类错误恢复方案实测数据曝光
  • FaceFusion如何优化夜间低光环境下的人脸处理?
  • Open-AutoGLM接入成本大曝光:4个维度评估你的适配级别
  • Open-AutoGLM接口开放度实测:8项关键指标评分,你的项目适合接入吗?
  • 主流AutoGLM框架错误恢复能力对比,哪个真正提升任务成功率?
  • 【AI框架二次开发新标杆】:Open-AutoGLM 4大可扩展性设计,为何被头部企业争相采用?
  • FaceFusion镜像每日下载量突破5000次
  • 从零基础转行渗透测试到如今20k,我经历了什么?
  • 土木人“提桶跑路”零基础转行网络安全,成功实现月入过万
  • HGDB如何提升批量导入数据的速度
  • 11、加勒比与北美地区房地产投资指南
  • 42、太赫兹通信与可见光通信:5G 及未来的前沿技术
  • 46、5G及未来通信中的协同网络技术解析
  • 47、协同网络:过去、现在与未来
  • 50、5G及未来的灵活认知无线电接入技术与频谱感知
  • 58、5G及未来的物理层安全设计