首页 > 其他分享 > K8S通过NFS实现共享存储

K8S通过NFS实现共享存储

时间:2023-02-14 19:02:24浏览次数:42  
标签:K8S data systemctl NFS master nfs 共享 k8s root

一、NFS相关

1、简介

NFS(Network File System)即网络文件系统,Sun公司开发,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

好处就是一台磁盘共享,其他服务器都能共用改服务器的磁盘空间。

2、安装配置

2.1、环境概况

序号

服务器

是否共享

共享目录

角色

1

172.16.4.169

/data/k8s

服务端

2

172.16.4.121

挂载/data

客户端

3

172.16.4.203

挂载/data

客户端

2.2、安装步骤(服务端)

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
1、创建共享目录和权限设置
[root@k8s-master ~]# mkdir -p /data/k8s
[root@k8s-master ~]# chown -R 755 /data/k8s/
[root@k8s-master ~]# ll /data/
total 0
drwx--x--- 13 root root 167 Apr 21 17:08 docker
drwxr-xr-x 2 755 root 6 Apr 22 18:02 k8s

2、通过yum进行安装
[root@k8s-master ~]#yum -y install nfs-utils rpcbind

3、配置 nfs,nfs 的默认配置文件在 /etc/exports 文件下,在该文件中添加下面的配置信息:
[root@k8s-master ~]# vim /etc/exports
/data/k8s *(rw,sync,no_root_squash)

####备注相关配置说明
/data/k8s:是共享的数据目录
*:表示任何人都有权限连接,当然也可以是一个网段,一个 IP,也可以是域名
rw:读写的权限
sync:表示文件同时写入硬盘和内存
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时,其权限将被转换成为匿名使用者,通常它的 UID 与 GID,都会变成 nobody 身份

4、启动顺序,先启动rpc,在启动nfs
[root@k8s-master ~]# systemctl enable rpcbind
[root@k8s-master ~]# systemctl start rpcbind
[root@k8s-master ~]# systemctl status rpcbind
####在启动nfs
[root@k8s-master ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@k8s-master ~]# systemctl start nfs
[root@k8s-master ~]# systemctl status nfs

5、查看相关信息
##nfs相关信息
[root@k8s-master ~]# rpcinfo -p|grep nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100227 3 udp 2049 nfs_acl
###查看挂载信息
[root@k8s-master ~]# cat /var/lib/nfs/etab
/data/k8s *(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,no_root_squash,no_all_squash)

*

2.3、客户端操作

1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装nfs
yum -y install nfs-utils

3、创建自启动服务
systemctl enable rpcbind
systemctl start rpcbind

4、查看可以登录的nfs地址
[root@k8s-node1 ~]# showmount -e 172.16.4.169
Export list for 172.16.4.169:
/data/k8s *

5、挂载和查看
[root@k8s-node1 ~]# mkdir /data/k8s/ -p
[root@k8s-node1 ~]# mount -t nfs 172.16.4.169:/data/k8s /data/k8s
[root@k8s-node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 5.4M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 29G 21G 58% /
/dev/sda1 1014M 209M 806M 21% /boot
/dev/mapper/centos-home 447G 33M 447G 1% /home
tmpfs 797M 0 797M 0% /run/user/0
172.16.4.169:/data/k8s 50G 49G 1.7G 97% /data/k8s

6、验证
[root@k8s-node1 ~]# echo 4444 >> /data/k8s/2.log
[root@k8s-node1 ~]# cat /data/k8s/2.log
444
##在服务端验证
[root@k8s-master ~]# cat /data/k8s/2.log
4444

标签:K8S,data,systemctl,NFS,master,nfs,共享,k8s,root
From: https://blog.51cto.com/liqingbiao/6057384

相关文章

  • k8s的命名空间Namespace
      你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。他们可以为您和您的团队提供组织,安......
  • SpringMVC:域对象共享数据
    SpringMVC:域对象共享数据使用ServletAPI向request域对象共享数据@RequestMapping("/testServletAPI")publicStringtestServletAPI(HttpServletRequestrequest){......
  • SQL SERVER备份数据库到共享目录
    --如果xp_cmdshell没有启用,请先启用sp_configure'showadvancedoptions',1RECONFIGUREGOsp_configure'xp_cmdshell',1RECONFIGURE--目标共享目录:\\172.16.1.63......
  • WIN10共享打印机连接出现0x0000011b错误代码无法共享打印
    WIN10共享打印机连接出现0x0000011b错误代码无法共享打印办公室里面一台WINDOWS10电脑共享了一台HP1020的打印机出来,以方便办公室内其它没有安装打印机的电脑进行共享打印......
  • K8S集群相关操作-权限
    需求:创建一个ns:test1给RD一个这个ns下所有资源的的list,get,create,delete权限第一步:首先创建nskubectlcreatenstest1#创建namespacetest1第二步:在集......
  • k8s集群部署(centos)
    k8s集群部署-centos一、docker配置1.安装docker略2.修改docker配置对Docker的配置做一点修改,在“/etc/docker/daemon.json”里把cgroup的驱动程序改成systemd,然......
  • CentOS7.9安装K8S高可用集群(三主三从)
    服务器规划见下表:  按上表准备好服务器后,对所有服务器操作系统内核由3.10升级至5.4+(haproxy和keepalived需要用到),步骤如下:#导入用于内核升级的yum源仓库E......
  • 二进制部署k8s+calico+dashboard+nginx+keepalived
    192.168.190.200k8s-master1192.168.190.202k8s-node1192.168.190.201k8s-master2192.168.190.110vip#查看yum中可升级的内核版本yumlistkernel--showdup......
  • Kubeadm搭建K8S
    一、kubeadm部署K8S集群架构主机名IP地址安装组件master(2C/4G,cpu核心数要求大于2)192.168.2.66docker、kubeadm、kubelet、kubectl、flannelnode01(2C/2......
  • 二进制 k8s 集群下线 master 组件流程分析和实践
    目录事出因果环境介绍个人思路准备实践当前master节点信息切换apiserver访问流量查看nginx配置文件停止下线节点的apiserver服务将master节点的pod驱逐到其他......