为什么要说这个呢,由于节点环境不一致,导致在重建pod时,我们暂且叫该pod为 cxpod,cxpod所在宿主机
出现了问题现象如下:
一、cxpod始终处于创建中 ContainerCreating  
[root@master-web-38 ~]#  kubectl describe pod cxpod
......
mount.nfs: mounting 10.121.53.91:/nfs/res/shfprsc/upload/cfs failed, reason given by server: No such file or directory

我的处理方式是:

1)查看该node机器是否有安装nfs客户端
[root@ht22 calico]# rpm -qa nfs-utils rpcbind
nfs-utils-1.3.0-0.68.el7.2.x86_64
rpcbind-0.2.0-49.el7.x86_64

已安装,查看启动状态。

[root@ht22 calico]# systemctl status nfs.service

[root@ht22 calico]# systemctl status  rpcbind.service

2) 查看nfs服务器端暴露情况(nfs server ip是 10.121.53.91)

[root@ht22 calico]# showmount -e 10.121.53.91
Export list for 10.121.53.90:
/nfs/bucket *
/nfs *
/nfs/k8slog/es5 10.121.56.0/24
/nfs/k8slog 10.121.51.0/24,10.121.52.0/24,10.121.56.0/24,10.121.55.0/24
/nfs/aill 10.121.51.0/24,10.121.52.0/24,10.121.56.0/24,10.121.55.0/24
/nfs/res 10.121.51.0/24,10.121.53.0/24,10.121.54.0/24,10.121.55.0/24
/nfs/upload 10.121.51.0/24,10.121.55.0/24
 原来 ht22 ip  10.121.52.12 即10.121.52.* 这个段并没有设置在服务端开放,所以需要设置服务器端开放该段访问。
3)修改nfs server服务器端的配置文件

root@fpNet-nfs-1 bill]# vi /etc/exports
.......
//增加52段

/nfs/res 10.129.52.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
......

配置说明:

ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

4)重启nfs server服务
[root@fpNet-nfs-1 bill]# /etc/init.d/nfs restart

问题得到解决。顺利创建,这里由于是pod 里面直接挂载的目录,我们不用在客户端先挂载某个目录,如果需要可以

采用普遍安全挂载参数即可

mount -t nfs -o nosuid,noexec,node,rw 192.168.10.150:/data/bbs /data/bbs   类似这种。

二、如果你没有安装nfs客户端,请安装nfs客户端

#cat /etc/redhat-release

1)检查系统版本及NFS服务nfs-utils 和rpcbind有没有安装

# rpm -qa nfs-utils rpcbind

2)安装NFS服务nfs-untils和rpcbind

# yum install nfs-utils rpcbind -y

3)启动rpcbind服务

#systemctl start rpcbind.service

4)查看rpcbind服务状态

#systemctl status rpcbind.service

5)查看rpc

# lsof -i :111

6)查看nfs服务向rpc注册的端口信息
#rpcinfo -p localhost

7)把rpcbind另入开机自启动

#systemctl enable rpcbind.service

8)启动NFS服务并查看其状态

#systemctl start nfs.service
9)查看nfs
#systemctl status nfs.service

10)把NFS服务加入开机自启动并查看其状态

#systemctl enable nfs.service

11)查看挂载nfs服务器端挂载情况

showmount -e localhost
12) 查看服务器的暴露的网段和目录情况

[root@ht22 calico]# showmount -e 10.121.53.91

Export list for 10.121.53.90:

/nfs/bucket *

/nfs *

/nfs/k8slog/es5 10.121.56.0/24

/nfs/k8slog 10.121.51.0/24,10.121.52.0/24,10.121.56.0/24,10.121.55.0/24

/nfs/aill 10.121.51.0/24,10.121.52.0/24,10.121.56.0/24,10.121.55.0/24

/nfs/res 10.121.51.0/24,10.121.53.0/24,10.121.54.0/24,10.121.55.0/24

/nfs/upload 10.121.51.0/24,10.121.55.0/24

总结: 这个主要是提示了,k8s 的pod可以挂载nfs目录,挂载可以灵活设置。 主要看我们的需求,需掌握的是
1、pod 出现问题,kubectl describe pod ...  命令还是很不错的查看问题出现原因的方式
2、nfs客户端安装
3、nfs服务器端安装就不写了。 自己可以查资料
我们很多机器上都用到nfs处理存储,比如:备份,配置文件统一修改等。

 

ro:目录只读

rw:目录读写

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性

async:将数据先保存在内存缓冲区中,必要时才写入磁盘

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)

no_all_squash:与all_squash取反(默认设置)

root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)

no_root_squash:与rootsquash取反

anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

nfs客户端的一次处理的更多相关文章

  1. NFS客户端访问行为相关的几个参数解释

    soft / hard Determines the recovery behavior of the NFS client after an NFS request times out. If ne ...

  2. nfs nobody,nobody 需要在nfs客户端修改从nfs服务器端共享过来的目录怎么办?

    1,加入我们使用nfs共享安装oracle, 安装oracle需要修改base,data,orainventory等等目录及自目录的属主及权限,一般会继承nfs客户端目录的权限及属主 groupadd ...

  3. NFS客户端阻塞睡眠问题与配置调研

    Linux NFS客户端需要很小心地配置,否则在NFS服务器崩溃时,访问NFS的程序会被挂起,用ps查看,进程状态(STAT)处于D,意为(由于IO阻塞而进入)不可中断睡眠(如果是D+,+号表示程序运 ...

  4. NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题

    1.NFS (network file system,基于RPC协议) 2.NFS服务端安装配置安装服务端:yum install nfs-utils rpcbind -y安装客户端:yum inst ...

  5. exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

    exportfs命令 • 常用选项 • -a 全部挂载或者全部卸载 • -r 重新挂载 • -u 卸载某一个目录 • -v 显示共享目录 • 以下操作在服务端上 • vim /etc/exports ...

  6. exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

    6月22日任务 14.4 exportfs命令14.5 NFS客户端问题15.1 FTP介绍15.2/15.3 使用vsftpd搭建ftp 14.4 exportfs命令 当我们修改nfs的配置文件e ...

  7. NFS客户端挂载及永久生效

    1.NFS客户端挂载的命令格式: 挂载命令 挂载的格式类型 NFS服务器提供的共享目录 NFS客户端要挂载的目录mount -t nfs 服务器IP:/共享目录 /本地的挂载点(必须存在) 重启失效 ...

  8. windows7 10 windows2008 windws2012 nfs客户端的安装

    servermanagercmd.exe -install FS-NFS-Services   for windows2008 windows2012 在添加功能角色-添加文件打印服务选择nfs客户端 ...

  9. nfs下的exportfs命令和nfs客户端重新挂载

    工作中,如果使用了nfs服务器,会遇到修改nfs服务器配置的情况,如果想重新让客户端加载上修改后的配置,但是又不能重启rpcbind服务,我们需要使用export命令了 exportfs命令 常用选项 ...

  10. NFS客户端挂载目录后无写入权限的解决方案

    转载至:https://blog.csdn.net/younger_china/article/details/52089337 在客户机通过 mount -o rw -t nfs 192.168.1 ...

随机推荐

  1. JavaScript闭包的概念及用法

    1.闭包的概念: 闭包就是能够读取其他函数内部变量的函数. 例如: function f1(){ var n=999; function f2(){ alert(n); } return f2; } ...

  2. ASP.NET Core 6框架揭秘实例演示[25]:配置与承载环境的应用

    与服务注册一样,针对配置的设置同样可以采用三种不同的编程模式.第一种是利用WebApplicationBuilder的Host属性返回的IHostBuilder对象,它可以帮助我们设置面向宿主和应用的 ...

  3. Docker——run指令中-it与-d的关系

    建立相关的测试容器 #1.只有-d [root@iZwz908j8pbqd86doyrez5Z test]# docker run -d -p 8081:8080 tomcat:9.0 #2.只有-i ...

  4. LCT板子

    粘板子: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; c ...

  5. JSP内置对象(4个作用域)

    9个内置对象: 4个作用域:表示这4个对象可以存值,但取值范围有限定(setAttribute/getAttribute) pageContext request session applicatio ...

  6. 什么是 Future?

    在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不 管是继承 thread 类还是实现 runnable 接口,都无法保证获取到之前的执行结果. 通过实现 Callback 接口, ...

  7. Redis 的持久化机制是什么?各自的优缺点?

    Redis 提供两种持久化机制 RDB 和 AOF 机制: 1.RDBRedis DataBase)持久化方式: 是指用数据集快照的方式半持久化模式) 记录 redis 数据库的所有键值对,在某个时间 ...

  8. js获取一周前日期

    项目中需要设定默认开始时间为一周前,结束时间为现在,现在写一下如何用js获取一周前日期. 1 var time=(new Date).getTime()-7*24*60*60*1000; 2 var ...

  9. 一道关于压缩包的ctf题目(包括暴力破解,明文攻击,伪加密)

    关于题目附件 链接:https://pan.baidu.com/s/1PRshlizSndkgxkslnqJrHA 提取码:p76e zip三连击 下载附件得到题目 手机号码一般是11位,那么我们设置 ...

  10. ctfhub rce 命令注入 过滤cat 过滤空格 过滤目录分隔符

    命令注入 源码直接给了出来尝试127.0.0.1;ls 发现一串数字的php文件cat查看 127.0.0.1|cat 233382768628619.php 查看源码发现flag 过滤cat 这题和 ...