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

k8s学习-数据管理之nfs手动搭建

需要先准备好3台虚拟机
系统CentOS7

IP 192.168.200.128 master
IP 192.168.200.129 node1
IP 192.168.200.130 node2

问题描述

在学习数据管理的时候创建完pv和pvc以后,创建了pod使用pvc,但是pod创建不成功。
查看pod描述

kubectl describe pod mypod1

描述有错误信息:

Normal   Scheduled    22m   default-scheduler   Successfully assigned default/mypod1 to k8s-node2
  Warning  FailedMount  22m   kubelet, k8s-node2  MountVolume.SetUp failed for volume "mypv1" : mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/2637337e-f53f-4b97-883b-1c7cdbb7e497/volumes/kubernetes.io~nfs/mypv1 --scope -- mount -t nfs 192.168.200.128:/nfsdata/pv1 /var/lib/kubelet/pods/2637337e-f53f-4b97-883b-1c7cdbb7e497/volumes/kubernetes.io~nfs/mypv1
Output: Running scope as unit run-28836.scope.
mount: 文件系统类型错误、选项错误、192.168.200.128:/nfsdata/pv1 上有坏超级块、
       缺少代码页或助手程序,或其他错误
       (对某些文件系统(如 nfs、cifs) 您可能需要
       一款 /sbin/mount.<类型> 助手程序)

       有些情况下在 syslog 中可以找到一些有用信息- 请尝试
       dmesg | tail  这样的命令看看。

是因为在安装完master节点的nfs以后我并没有在node1和node2上安装nfs。所以完整安装一遍nfs以后就可以正常测试nfs了。

1.0 命令安装nfs

yum -y install nfs-utils rpcbind

会提示找不到镜像,所以就手动安装了一遍。

1.1 手动安装nfs

先下载nfs所需要的文件。
百度网盘下载安装包:

链接:https://pan.baidu.com/s/1ORc1cXa042tP5DDRJgbuXw?pwd=1234
提取码:1234

下载上述nfs离线包,把包上传到centos7服务器,使用下列命令按顺序执行命令。

# 1.创建文件夹
mkdir -p /root/nfs
# 2.上传到当前目录
# 3. 安装:
rpm -ivh *.rpm --force --nodeps

执行安装命令。

[root@k8s-node2 nfs]# rpm -ivh *.rpm --force --nodeps
警告:tcp_wrappers-7.6-48.mga7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 80                                           420f66: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:libverto-0.2.5-4.el7             ################################# [  6%]
   2:libtirpc-0.2.4-0.16.el7          ################################# [ 12%]
   3:rpcbind-0.2.0-49.el7             ################################# [ 18%]
   4:libref_array-0.1.5-32.el7        ################################# [ 24%]
   5:libevent-2.0.21-4.el7            ################################# [ 29%]
   6:libcollection-0.7.0-32.el7       ################################# [ 35%]
   7:libbasicobjects-0.1.1-32.el7     ################################# [ 41%]
   8:libverto-libevent-0.2.5-4.el7    ################################# [ 47%]
   9:tcp_wrappers-7.6-48.mga7         ################################# [ 53%]
  10:quota-nls-1:4.01-19.el7          ################################# [ 59%]
  11:quota-1:4.01-19.el7              ################################# [ 65%]
  12:libpath_utils-0.2.1-32.el7       ################################# [ 71%]
  13:libini_config-1.3.1-32.el7       ################################# [ 76%]
  14:gssproxy-0.7.0-30.el7_9          ################################# [ 82%]
  15:libnfsidmap-0.25-19.el7          ################################# [ 88%]
  16:keyutils-1.5.8-3.el7             ################################# [ 94%]
  17:nfs-utils-1:1.3.0-0.68.el7.2     ################################# [100%]

1.2 启动nfs

服务端:

开机启动

systemctl enable rpcbind.service
systemctl enable nfs-server.service

启动nfs

systemctl start rpcbind.service
systemctl start nfs-server.service
service nfs start

检查启动项

chkconfig nfs on

客户端:
systemctl enable rpcbind.service
systemctl start rpcbind.service
注意:客户端不需要启动nfs服务

1.3配置NFS服务端

1.创建共享目录

mkdir -p /nfsdata
mkdir -p /nfsdata/pv1

2.修改exports文件

# 1.编辑配置文件
vi /etc/exports

# 修改配置文件,增加下面这一行数据,指定的ip地址为客户端的地址,ip可设置为*表示所有服务器可访问
/nfsdata *(rw,all_squash)
/nfsdata/pv1 *(rw,all_squash)
# 2.加载配置文件
exportfs -arv

3.目录授权

chmod o+w /nfsdata
chmod o+w /nfsdata/pv1

4.重启服务

systemctl restart rpcbind.service
systemctl restart nfs-server.service

1.4 客户端挂载

在其中一个node节点上执行showmount ,查看master可挂载的目录

[root@k8s-node1 ~]# showmount -e 192.168.200.128
Export list for 192.168.200.128:
/nfsdata/pv1 *
/nfsdata     *

执行挂载

[root@k8s-node1 ~]# mkdir /root/mcw/
[root@k8s-node1 ~]# mount -t nfs 192.168.200.128:/nfsdata/ /root/mcw/
[root@k8s-node1 ~]# df -h|tail -1
192.168.200.128:/nfsdata   27G  3.7G   24G   14% /root/mcw
[root@k8s-node1 ~]# df -h
192.168.200.128:/nfsdata   27G  3.7G   24G   14% /root/mcw

创建文件,查看挂载结果

[root@k8s-node1 ~]# touch /root/mcw/test.txt
[root@k8s-node1 ~]# ls /root/mcw/
mypv1  pv1  test.txt
[root@k8s-node1 ~]# df -h|grep mcw
192.168.200.128:/nfsdata   27G  3.7G   24G   14% /root/mcw

挂载/nfsdata/pv1

[root@k8s-node1 ~]# mount -t nfs 192.168.200.128:/nfsdata/pv1 /root/mcw/
mount.nfs: /root/mcw is busy or already mounted
[root@k8s-node1 ~]# umount /root/mcw
[root@k8s-node1 ~]#  mount -t nfs 192.168.200.128:/nfsdata/pv1 /root/mcw/

设置开机自动挂载

mount -t nfs 192.168.200.128:/nfsdata/pv1 /root/mcw/

切换到master

[root@k8s-master ~]# ls /nfsdata/pv1/
[root@k8s-master ~]# ls /nfsdata
mypv1  pv1  test.txt
[root@k8s-master ~]# ls /nfsdata/pv1/
test.txt

可以看到在node节点创建的文件,到此就按照成功了。

相关文章:

  • 基于JavaWEB SpringBoot婚纱影楼摄影预约网站设计和实现
  • Timeplus-proton流处理器调研
  • 自动驾驶加速落地,激光雷达放量可期(上)
  • 突破编程_C++_STL教程( list 的实战应用)
  • C语言基础(五)——结构体与C++引用
  • C/C++嵌入式开发环境搭建,Qt交叉编译,cmake交叉编译,clion/vscode远程开发
  • Qt 简约美观的加载动画 小沙漏风格 第六季
  • C语言:结构体(自定义类型)知识点(包括结构体内存对齐的热门知识点)
  • Spring Boot 常用注解大全
  • 【数据结构与算法】常见排序算法(Sorting Algorithm)
  • leetcode热题100学习计划-链表-反转链表
  • 对象变更记录objectlog工具(持续跟新)
  • Mybatis - generator(自动生成)
  • 蓝桥杯(3.2)
  • 前端vue后端go实现大文件分片下载
  • python笔记_程序流程控制
  • python毕设选题 - 大数据商城人流数据分析与可视化 - python 大数据分析
  • kafka消费者重平衡是什么?怎么避免?
  • GPT与MBR:硬盘分区表格式的革新与区别
  • sql基本语法+实验实践
  • 网络达人“拿”别人的视频为自己带货赚佣金,法院判决赔偿1.4万元
  • 长三角数智文化产业基金意向签约会成功举办
  • 药企销售的茶碱层层流转后部分被用于制毒,销售人员一审被判15年
  • 更好发挥汽车产业在扩投资促消费方面的带动作用!陈吉宁调研上海车展
  • 爱奇艺要转型做微剧?龚宇:是误解,微剧是增量业务,要提高投资回报效益
  • 山西省朔州市政府党组成员、副市长李润军接受审查调查