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

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。

文章转载自:LemHou

原文链接:https://www.cnblogs.com/solicit/p/18471055

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构


http://www.kler.cn/news/358937.html

相关文章:

  • FastGPT本地开发 之 通过Navicat管理MongoDB、PostgreSQL数据库
  • (BIOS)Windows系统下GSensor坐标映射
  • javaWeb项目-Springboot+vue-校园论坛系统功能介绍
  • uniapp使用html2canvas时,页面内的image元素模糊
  • springboot 整合 快手 移动应用 授权 发布视频 小黄车
  • 行业分析---自动驾驶人才流动及从业思考
  • 在线获取iOS获取公钥、SHA-1 、MD5进行提交备案
  • Jmeter学习深入
  • Django学习- ORM基础操作_创建数据
  • 【Conda】解决 Conda 安装包时遇到的 `Collecting package metadata` 问题
  • 建筑智能化:为你打造智能生活
  • RISC-V笔记——RVWMO基本体
  • ArkTs学习笔记
  • 清空redo导致oracle故障恢复---惜分飞
  • 【存储设备专栏 2.8 -- linux 下挂载命令 mount 与 gio mount】
  • 构建高效在线考试平台:Spring Boot与JavaWeb的融合
  • 浅谈数据库选型
  • 简单易用的分类任务开源项目 :classification
  • Adobe的反击,传统大厂全面AI化,正面激战OpenAI!
  • React 进阶阶段学习计划