目录

1 nfs是什么

2 nfs共享原理(挂载)

3 nfs安装和部署

3.1 安装

3.2 共享目录

3.2.1 创建共享目录

3.2.2 配置

3.3 启动服务

3.3.1 启动rpcbind

3.3.2 启动nfs

3.3.3 验证nfs启动状态


上一篇,已经完成了集群节点的集中配置了。这一篇来讲解下nfs的安装。nfs是什么呢?做什么用呢?为什么k8s要用到nfs。下面来详细介绍下。

1 nfs是什么

NFS是Network File System的简写,即网络文件系统。NFS基于RPC(Remote Procedure Call)远程过程调用实现。由操作系统的内核,将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务。NFS服务器执行相关的操作,并将操作结果返回给客户端
NFS最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。

看到这边大家肯定能知道nfs是干嘛用的,其实就是一个文件系统,只不过这个文件系统可以在集群里头的多个节点进行共享。

2 nfs共享原理(挂载)

引用网友的图片:

NFS服务器的挂载结构图

当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:#df –h。
 上述内容参考:

什么是NFS_卖女孩的小火柴的博客-CSDN博客_nfs是什么意思一、NFS工作原理1、什么是NFS服务器NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利2、NFS挂载原理NFS服务器的挂载结构...https://blog.csdn.net/qq_43561410/article/details/102179129?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1.no_search_link&spm=1001.2101.3001.4242NFS详细介绍_z609158391的博客-CSDN博客_nfsNFS介绍网络文件系统(network files system)简称NFS是一种基于TCP传输协议的文件共享习通。NFS的CS体系中的服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。应用场景:为web服务器作为视频,图片资源的服务器。域用户家目录服务器。内容文件存储服务器。NFS部署安装:yum install nfs-utils -y启动...https://blog.csdn.net/z609158391/article/details/105226176

3 nfs安装和部署

nfs的原理要彻底搞定,这个内容还是不少的。笔者也没有很深入的去了解。但是k8s为啥要引入nfs呢。是这样的,k8s里头不可避免会出现负载均衡、集群的情况,同样的一个服务,为了降压之类的,会部署多套,这个时候一些数据需要在多套服务之间共享,那么就需要引入一个公共的存储媒介,让每个服务的数据都存在一个地方,操作一个地方的数据,这不就实现共享了。

nfs的安装和部署比较简单,需要先明确下nfs要安装部署在哪里。

nfs可以部署在任意一台机器里头,不一定要master或者是worker节点。但是为了省机器,我将nfs部署在worker1服务器上了。

3.1 安装

yum install nfs-utils rpcbind -y

3.2 共享目录

3.2.1 创建共享目录

创建的共享目录,就是未来其他的服务要将文件存放的根目录。

 mkdir -p /nfs/data &&  chmod a+w /nfs/data

3.2.2 配置

将上面的共享目录写入到配置文件里头:

vim /etc/exports

写入共享配置,注意配置的格式如下:

 共享目录绝对路径 授权的ip或网段(权限1,权限2)

权限用途
ro只读
rw读写访问
sync客户端写入数据同步到服务器后才会返回
no_root_squash客户端root用户具有完全的权限
root_squashroot用户权限被映射成服务端上的普通用户nobody
anonuid指定匿名用户的UID
anongid指定匿名用户的GID

笔者写入的共享配置为:

/nfs/data *(rw,no_root_squash,sync)

3.3 启动服务

3.3.1 启动rpcbind

systemctl start rpcbind && systemctl enable rpcbind

3.3.2 启动nfs

systemctl start nfs && systemctl enable nfs

3.3.3 验证nfs启动状态

systemctl status nfs

nfs至此就部署好了,下一篇讲解下kk的安装

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐