• k8s-NFS系统配置


    k8s-NFS系统配置

    NFS(network filesystem),nfs文件系统在k8s中主要用于持久化存储,可以被多个pod访问和共享数据。

    特点

    1. 数据持久性
      nfs为k8s的pod提供了一种持久化数据的方式,即使pod被删除,数据也不会丢失,这是因为数据存在nfs服务器上,并不是存在pod上。
    2. 资源共享
      nfs系统的文件可以用于多个pod共享相同的数据。

    NFS服务端安装-master节点

    以centos系统为例

    # 安装nfs服务端
    yum install nfs-utils -y 
    # 创建共享目录
    mkdir /nfs
    # 配置nfs共享
    vim /etc/exports
    # 添加以下一行
    /nfs *(rw,sync,no_root_squash) # 指明共享目录和权限设置
    # 启动nfs服务,并设置开机启动
    systemctl start nfs-server
    systemctl enable nfs-server
    # 查看nfs服务器状态
    systemctl status nfs-server
    # 启动rpcbind服务,设置开机启动
    systemctl start rpcbind
    systemctl enable rpcbind
    # 查看rpcbind服务状态
    systemctl status rpcbind
    # 需要保证nfs服务器能够访问,关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    

    NFS客户端安装-work节点

    以centos为例

    yum install nfs-utils -y 
    # 创建挂载点,挂载nfs共享
    mkdir /mnt/nfs
    mount -t nfs server_ip:/shared_directory /mnt/nfs
    # 自动挂载
    server_ip:/shared_directory /mnt/nfs nfs defaults 0 0
    

    字段解释

    /nfs *(rw,async,no_root_squash)
    ro # 只读
    rw # 读写
    sync # 同步写入内存和硬盘
    async # 异步,优先写入内存,之后写入硬盘
    Secure # 请求源端口小于1024
    # 用户权限
    root_squash # nfs客户端使用root登录,映射到nfs服务器的匿名用户
    no_root_squash # nfs客户端使用root登录,映射到nfs服务器的root用户
    all_squash # 全部用户映射为nfs服务器的匿名用户
    anonuid=UID # 将客户端用户映射为用户ui
    anongid=GID # 将客户端用户映射为用户gi
    

    NFS-server工作原理

    NFS允许网络上的节点像本地文件一样访问和共享文件系统。NFS服务器设置共享目录后,客户端可以将这些目录挂载到本地文件系统中。
    NFS服务器在启动时会随机使用一些端口来处理文件系统操作,这些端口通常是小于1024的随机端口。NFS服务器的主要守护进程包括rpc.nfsd和rpc.mountd,分别负责处理文件系统操作和挂载请求。
    NFS服务器的配置在/etc/exports文件中进行,定义了共享目录的访问权限以及用户访问限制。

    客户端访问NFS系统场景:当NFS客户端需要访问服务器上的文件时,先通过RPC服务(rpcbind)询问NFS服务器的端口信息。RPC服务响应客户端的请求,提供NFS服务使用的端口信息。客户端使用这些端口信息来建立与NFS服务器的连接,并进行数据传输。数据传输通常直接在客户端和服务器之间进行,不再经过RPC服务。

    rpcbind工作原理

    RPC作为一种协议,允许一个程序通过网络向另一个程序请求服务,而无需了解网络技术的细节。RPC通过一个中介服务如rpcbind或portmap管理服务的端口号。
    Rpcbind记录了NFS使用的端口信息,并在客户端请求时提供这些端口信息,以便客户端能够连接到正确的端口进行数据传输。通常NFS服务会向RPC注册其使用的端口。RPC服务监听的端口通常是111。

  • 相关阅读:
    Python3-pdf文件的相关操作,分割和合并page,PyPDF2的使用
    实时监控电脑屏幕的软件丨同时查看12台电脑屏幕
    android studio专治项目运行不了
    【无标题】
    无代码开发批量打印入门教程
    概率模型校准
    sping
    HTML5期末大作业:游戏网站设计与实现——基于bootstrap响应式游戏资讯网站制作HTML+CSS+JavaScript
    ThreeJS-3D教学九-line的绘制
    【毕业季】角色转换
  • 原文地址:https://www.cnblogs.com/solicit/p/18471055