背景

Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上。在这种情况下,Pod 中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当 Pod 出现故障,Kubernetes 重新调度之后,Pod 所在的新节点上,并不存在上一次 Pod 运行时所在节点上的数据。

为了使 Pod 在任何节点上都能够使用同一份持久化存储数据,我们需要使用网络存储的解决方案为 Pod 提供 数据卷。常用的网络存储方案有:NFS/cephfs/glusterfs。

本文介绍一种使用 centos 搭建 nfs 服务器的方法。此方法仅用于测试目的,请根据您生产环境的实际情况,选择合适的 NFS 服务。

配置要求

  • 两台 linux 服务器,centos 7

    • 一台用作 nfs server
    • 另一台用作 nfs 客户端

配置NFS服务器

本章节中所有命令都以 root 身份执行

  • 执行以下命令安装 nfs 服务器所需的软件包

    yum install -y rpcbind nfs-utils
  • 执行命令

    echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports
  • 执行以下命令,启动 nfs 服务

    # 创建共享目录,如果要使用自己的目录,请替换本文档中所有的 /root/nfs_root/
    mkdir -p /nfs/data systemctl enable rpcbind --now
    systemctl enable nfs-server --now
    exportfs -r
  • 检查配置是否生效

    [root@k8s-101 data]# exportfs
    /nfs/data <world>

在客户端测试nfs

  • 本章节中所有命令都以 root 身份执行

  • 服务器端防火墙开放111、662、875、892、2049的 tcp / udp 允许,否则远端客户无法连接。

  • 执行以下命令安装 nfs 客户端所需的软件包

    yum install -y nfs-utils
  • 执行以下命令检查 nfs 服务器端是否有设置共享目录

    # showmount -e $(nfs服务器的IP)
    showmount -e 192.168.50.101
    # 输出结果如下所示
    Export list for 192.168.50.101:
    /nfs/data *
  • 执行以下命令挂载 nfs 服务器上的共享目录到本机路径 /root/nfsmount

    mkdir -p /nfs/data
    # mount -t nfs $(nfs服务器的IP):/root/nfs_root /root/nfsmount
    mount -t nfs 192.169.50.101:/nfs/data /nfs/data
    # 写入一个测试文件
    echo "hello nfs server" > /nfs/data/test.txt
  • 在 nfs 服务器上执行以下命令,验证文件写入成功

    cat /nfs/data/test.txt

CentOS 安装NFS的更多相关文章

  1. CentOS 6 NFS的安装配置

    $ sudo umount /mnt/ /mnt was not found in /proc/mounts /mnt was not found in /proc/mounts 解决: umount ...

  2. centOS下NFS服务器的安装配置详解

    一.NFS简介 NFS就是Network FileSystem的缩写,最早之前是由Sun公司所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不同的操作系统可以彼此分享个别档案(share f ...

  3. Centos安装TFTP/NFS/PXE服务器网络引导安装系统

    客户端网卡要求支持以PXE启动,配置都在服务端进行,通过PXE网络启动安装系统流程: 客户端以PXE启动发送DHCP请求: 服务器DHCP应答,包括客户端的IP地址,引导文件所在TFTP服务器: 客户 ...

  4. 安装NFS到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:无 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# rpm -i https ...

  5. Linux centos 7 安装NFS服务

    NFS服务简介:NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下.---主要功能指的是共享文件 为什么要安装NF ...

  6. CentOS 中安装NFS

    NFS(network file system)网络文件系统,类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, ...

  7. centos 配置NFS服务器

    转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/ 系统是CentOS5.6,假设NFS Server IP为1 ...

  8. CentOS7 下安装 NFS,Linux/Windows 作为客户端

    目录 一.简介 1. 定义 2. 版本和变化 3. 部署说明 二.服务端 1. 关闭防火墙 2. 安装 nfs 3. 配置说明 4. 配置共享目录 5. 启动服务 6. 确认启动成功 三.Linux ...

  9. centos配置nfs服务详细步骤(centos开启nfs服务)

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

  10. CentOS下NFS服务器配置教程

    说明: NFS服务器: 操作系统:CentOS 5.5 IP:192.168.21.160 nfs网络文件服务器共享目录:/data/osyunwei 目录所有者:www(说明:www为nginx运行 ...

随机推荐

  1. Centos7下非lvm的分区扩容

    Centos7下非lvm的分区扩容(重要) 前言:一般在生产环境中,如果需要使用一个分区保存大量的文件,建议的做法是在虚拟化环境中增加一块单独的硬盘,挂载一个单独的分区,比如 /data 上图我们可以 ...

  2. 云原生周刊:Kubernetes v1.30 一瞥 | 2024.3.25

    开源项目推荐 Retina Retina 是一个与云无关的开源 Kubernetes 网络可观测平台,它提供了一个用于监控应用程序运行状况.网络运行状况和安全性的集中中心.它为集群网络管理员.集群安全 ...

  3. 《使用Gin框架构建分布式应用》阅读笔记:p77-p87

    <用Gin框架构建分布式应用>学习第5天,p77-p87总结,总计11页. 一.技术总结 1.Go知识点 (1)context 2.on-premises software p80, A ...

  4. Centos 安装 supervisord服务

    安装supervisord 执行如下命令安装supervisord yum install epel-release -y yum install supervisor -y 设置开机启动superv ...

  5. 使用最小二乘法进行线性回归(Python)

    已知测得某块地,当温度处于15至40度之间时,数得某块草地上小花朵的数量和温度值的数据如下表所示.现在要来找出这些数据中蕴含的规律,用来预测其它未测温度时的小花朵的数量. 测得数据如下图所示: imp ...

  6. Go语言切片(Slice)的一些有趣特性

    切片类似数组的引用.更改底层数组中的元素会修改切片的元素.更改切片的元素同样会修改其底层数组中的元素,和它共享底层数组的切片都会观测到这些修改. 点击查看代码 package main import ...

  7. 22.使用Rancher2.0搭建Kubernetes集群

    使用Rancher2.0搭建Kubernetes集群 中文文档:https://docs.rancher.cn/docs/rancher2 安装Rancher2.0 使用下面命令,我们快速的安装 # ...

  8. L4168爱普生打印机重新刷机解决printer mode问题

    同事的一台EPSON L4168打印机出现无法打印的故障,显示printer mode.使用官网的升级工具,在更新升级模式下(用电源+左+下+三角形四个手指按住开启)刷机,重启问题依旧(仍然显示pri ...

  9. Ubuntu实现SSH外网连接内网(反向隧道)

    应用场景: 如果你有Linux云主机(腾讯.华为等),且公司有一台只有内网IP (或动态IP) 的Linux工作机:你计划在家里工作时,通过家里的电脑连接公司的工作机 (且不想使用类似Teamview ...

  10. Java基础 —— 集合(二)

    Collection 接口 Collection接口常用方法 boolean add(E e):在集合末尾添加元素 boolean remove(Object o):若集合中存在与o相同的元素,则删除 ...