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

构建nfs provisioner网络存储

构建 NFS Provisioner 网络存储,本质上是在你的 Kubernetes 集群中部署一个自动化的“存储管家”。这个管家会监听你的 PVC 请求,然后自动去 NFS 服务器上创建目录并映射给 Pod 使用。

🏗️ 架构概览

在开始之前,你需要明确两个角色:

  1. NFS Server:提供实际存储空间的服务器(可以是物理机、虚拟机或云厂商的 CFS/NAS 服务)。
  2. NFS Provisioner:运行在 K8s 里的一个 Pod,负责“翻译”K8s 的存储请求,并在 NFS Server 上创建文件夹。

🚀 第一步:准备 NFS 服务器

你需要一台安装了 NFS 服务的机器(假设 IP 为 10.0.0.31)。

  1. 安装 NFS 服务 (以 CentOS/RHEL 为例):

    sudo yum install -y nfs-utils rpcbind
    
  2. 创建共享目录

    sudo mkdir -p /data/nfs/
    
  3. 配置共享权限
    编辑 /etc/exports 文件,添加以下内容,允许 K8s 节点网段访问:

    # 格式:共享目录路径  允许访问的网段(权限参数)
    /data/nfs/  10.0.0.31/24(rw,sync,no_root_squash,no_subtree_check)
    

    注意:no_root_squash 是为了避免权限问题,生产环境请根据安全需求调整。

  4. 启动服务

    sudo systemctl enable --now nfs-server rpcbind
    sudo exportfs -rv  # 重新加载配置
    
  5. 验证
    在任意 K8s 节点上执行 showmount -e 10.0.0.31,如果能看到 /data/nfs/,说明服务端配置成功。

⚙️ 第二步:部署 NFS Provisioner

推荐使用 Helm 部署,这是最简便的方式。如果你没有 Helm,也可以直接应用 YAML 文件。

  1. 添加 Helm 仓库

    helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
    helm repo update
    
  2. 安装 Provisioner
    请将 <NFS_SERVER_IP><NFS_PATH> 替换为你第一步中配置的实际值。

helm install nfs-provisioner \nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \--set nfs.server=10.0.0.31 \--set nfs.path=/data/nfs \--set storageClass.name=nfs-storage \--set storageClass.onDelete=archive  # 删除 PVC 时归档数据而不是直接删除

🧪 第三步:验证与使用

部署完成后,Provisioner 会自动创建一个名为 nfs-storage 的 StorageClass。

  1. 检查 StorageClass

    kubectl get sc
    # 输出应包含: nfs-storage (default) ...[root@master231 nfs-Provisioner]#kubectl get sc
    NAME          PROVISIONER                                                     RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    local-path    rancher.io/local-path                                           Delete          WaitForFirstConsumer   false                  70m
    nfs-storage   cluster.local/nfs-provisioner-nfs-subdir-external-provisioner   Delete          Immediate              true                   13s
  2. 创建测试 PVC
    创建一个 test-pvc.yaml

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:name: test-nfs-pvc
    spec:storageClassName: nfs-storageaccessModes:- ReadWriteMany  # NFS 支持多节点读写resources:requests:storage: 1Gi
    

    执行 kubectl apply -f test-pvc.yaml

  3. 验证 PV 是否自动创建

    kubectl get pvc
    # 状态应变为 Bound
    kubectl get pv
    # 应该能看到自动生成的 PV,且容量为 1Gi
    
  4. 检查 NFS 服务器
    登录你的 NFS 服务器 (192.168.1.100),查看 /data/nfs/k8s 目录。你应该能看到一个以 default-test-nfs-pvc-pv-xxxx 命名的文件夹,这就是自动创建的存储空间。

http://www.jsqmd.com/news/583394/

相关文章:

  • linux异常报警推送企业微信群聊机器人
  • 穿棕机品牌大比拼:2026年哪些品牌脱颖而出?穿筘机配件/自动穿棕机/穿筘/穿综机配件,穿棕机公司口碑推荐 - 品牌推荐师
  • CLAUDE.md和skill.md有什么不同
  • 2026年市场打印机企业,市场正规的打印机供货商鼎思科技诚信务实提供高性价比服务 - 品牌推荐师
  • 用-ChatGPT-赚钱-使用-AI-轻松在线赚取被动收入的指南
  • 由-ChatGPT-打造的-100-个令人惊叹的电子邮件模板
  • python_12
  • 与机器对话-ChatGPT-和-AI-语言模型的奇妙故事
  • 提升采购效率:如何找到服务完善的液态金属板供应商,防火树脂板/夹植物板/树脂板/PETG装饰板,液态金属板厂家哪个好 - 品牌推荐师
  • 在课堂中使用-ChatGPT-的-80-个方式
  • python3.14t线程池进行并行计算
  • 2026 托福机构排名断层第一!多次元教育如何帮大学生稳拿 90-110 分,直通美日名校 - 速递信息
  • 托福机构哪家靠谱?2026 实测避坑指南 + 5家优质机构推荐(自制力差必看) - 速递信息
  • 干货|xrdp 无人值守+同屏稳定配置(Ubuntu 22.04/24.04 实测可用)
  • 专业人士的-ChatGPT-简化指南
  • 大学生托福备考突围指南:如何选择真正靠谱的培训机构? - 速递信息
  • 作家的-ChatGPT-用-AI-掌握创意写作
  • 网站设计:抓住这3点细节,用户体验感飙升!
  • 基础差怎么选雅思机构|过来人真实避坑与选择建议 - 速递信息
  • 2026海雅达HDT500手持终端PDA“12米远距扫描”应用案例:造纸厂原纸立库高层纸卷条码采集应用
  • 作家和创作者的-Nexus-Jasper-ChatGPT-和-Notion-AI
  • V821 DISP 显示驱动流程分析
  • 雅思小白如何选培训机构|2026 纯新手避坑指南(完全不踩雷) - 速递信息
  • 3分钟掌握绝地求生压枪黑科技:罗技鼠标宏终极指南
  • 托福写作 APP / 托福写作批改 APP,多次元 AI 逐句精批,对标 ETS 评分 - 速递信息
  • 2026年国内剪刀车出租门店,臂车出租/蜘蛛车租赁/剪刀车出租,剪刀车出租门店推荐 - 品牌推荐师
  • 刷题无数却提不了分?你的雅思APP只会告诉你错了,却不说为什么错 - 速递信息
  • 突破性分子动力学自由能计算工具:gmx_MMPBSA技术深度解析与实战指南
  • 托福口语陪练APP / 托福口语模考APP,24小时AI私教随时练 - 速递信息
  • 托福口语新题型必看!多次元托福 APP深度功能对比 - 速递信息