美文网首页
K8S集群中部署NFS之一:配置NFS服务

K8S集群中部署NFS之一:配置NFS服务

作者: 乱七八糟谈技术 | 来源:发表于2021-06-18 17:39 被阅读0次

    在K8S中对于无状态的应用我们可以比较容易的扩展应用程序、滚动升级和重新启动崩溃的应用程序,但是对于一些无状态的应用,分为需要维护服务的拓扑结构和需要持久化数据两种情况,对于前者,我们可以使用headless service来实现,对于后者我们需要在集群中使用持久存储来持久化数据。而持久化存储,NFS(Network File System)是一个使用比较常用的分布式存储技术,在本系列中,我将详细演进如何在K8S集群中部署NFS。为了使得大家比较容易理解,将文章分成4个部分。
    第一部分:配置 NFS 服务器
    第二部分:将 NFS 服务器文件夹挂载到每个节点的本地文件夹
    第三部分:将Persistent Volume配置直接连接到 NFS 服务器
    第四部分:创建Storage Class声明来自动创建Persistent Volume

    写在前面

    这一系列文章主要译自下面的文章,但由于k8s版本的原因导致一些功能不正常,我在部署过程中也遇到了一些问题,并得以解决。此外作者主要是在树莓派上完成部署,是ARM架构,因此一些脚本不能在在PC上正常工作,我也在文中加以修改,并给出了详细的解决办法。

    https://levelup.gitconnected.com/how-to-use-nfs-in-kubernetes-cluster-configuring-the-nfs-server-1bf4116641d4 
    
    

    本文的源代码都是来自作者的github主页

    https://github.com/fabiofernandesx/k8s-volumes
    
    

    NFS Server配置

    首先要做的是配置NFS服务器。由于我没有使用树莓派来测试外挂存储,因此我就只外挂了三个目录,如果需要外挂存储,可以参考原文。分别如下:

    • /ssd/host-mapped — 它将是本地磁盘中的一个文件夹,并在集群中使用,以演示如何使用每个节点上的“映射”文件夹创建Persistent Volume。
    • /ssd/direct — 它也将是一个文件夹,用于演示如何创建直接访问 NFS 服务器的 PV,而无需先将文件夹映射到节点。
    • /ssd/dynamic — NFS 服务器本地磁盘中的另一个文件夹。它将通过集群内的Storage Class使用动态 PV 创建。

    安装NFS Server

    使用以下命令安装NFS Server

    sudo apt-get install nfs-kernel-server -y
    
    

    导出endpoints

    编辑/etc/exports 文件导出我们需要共享的endpoints,然后刷新内存

    /ssd/host-mapped *(rw,no_root_squash,insecure,async,no_subtree_check,anonuid=1001,anongid=1001)
    /ssd/direct *(rw,no_root_squash,insecure,async,no_subtree_check,anonuid=1002,anongid=1002)
    /ssd/dynamic *(rw,no_root_squash,insecure,async,no_subtree_check,anonuid=1003,anongid=1003)
    
    

    重启NFS Server

    $ sudo exportfs -ra
    
    

    现在我们在集群节点上可以安装NFS并且在每个工作节点上挂载文件夹。

    安装NFS common

    在每个节点上安装nfs common

    $ sudo apt-get install nfs-common -y
    
    

    在节点上创建文件夹

    sudo mkdir -p /ssd/host-mapped
    
    

    编辑导出文件来自动挂载

    sudo nano /etc/exports
    192.168.2.30:/ssd/host-mapped  /ssd/host-mapped nfs rw 0 0
    
    

    重启工作节点服务器,并检测挂载是否成功

    $ df -h /ssd/host-mapped
    
    
    image

    在每个节点上重复上述步骤,实现每个工作节点挂载NFS服务器的文件夹。

    相关文章

      网友评论

          本文标题:K8S集群中部署NFS之一:配置NFS服务

          本文链接:https://www.haomeiwen.com/subject/qszkyltx.html