项目环境搭建【Docker+k8s】六 kubernetes准备数据卷

项目环境搭建【Docker+k8s】六 kubernetes准备数据卷

在Docker中就有数据卷的概念,当容器删除时,数据也一起会被删除,想要持久化使用数据,需要把主机上的目录挂载到Docker中去,在K8S中,数据卷是通过Pod实现持久化的,如果Pod删除,数据卷也会一起删除,k8s的数据卷是docker数据卷的扩展,K8S适配各种存储系统,包括本地存储EmptyDir,HostPath,网络存储NFS,GlusterFS,PV/PVC等,下面就详细介绍下K8S的网络存储NFS如何实现。

部署NFS主机

  • YN100-81.host.com

安装NFS服务端

#创建数据目录
mkdir /usr/local/kubernetes/volumes
#设置读写权限
chown -R 777 /usr/local/kubernetes/volumes
#安装NFS服务端
yum -y install rpcbind nfs-utils
#开启服务
systemctl start rpcbind nfs-server

配置NFS服务目录,打开/etc/exports,在尾部新增一行

#增加内容如下
/usr/local/kubernetes/volumes *(rw,sync,no_subtree_chexk,no_root_squash)
  • /usr/local/kubernetes/volumes:作为服务目录向客户端开放
  • *:表示任何ip都可以访问
  • rw:读写权限
  • sync:同步权限
  • no_subtree_check:表示如果输出目录是一个子目录,NFS服务器不检查其父目录的权限
  • no_root_squash:客户端连接服务端时如果使用root,那么也拥有对服务端分享的目录的root权限

当配置文件发生修改,重新载入配置

exportfs -ra

安装NFS客户端

实际应用中客户端与服务端是分开的,此步骤只是验证NFS是否可以用

yum -y install rpcbind nfs-utils
创建NFS客户端挂载目录
mkdir /usr/local/kubernetes/volumes-mount

将NFS的/usr/local/kubernetes/volumes目录挂载到NFS的客户端目录/usr/local/kubernetes/volumes-mount

mount 192.168.100.81:/usr/local/kubernetes/volumes /usr/local/kubernetes/volumes-mount

使用df命令查看挂载消息,输出信息如下:

[root@yn100-81 kubernetes]# df
Filesystem                                   1K-blocks    Used Available Use% Mounted on
devtmpfs                                       1003376       0   1003376   0% /dev
tmpfs                                          1013952       0   1013952   0% /dev/shm
tmpfs                                          1013952    1544   1012408   1% /run
tmpfs                                          1013952       0   1013952   0% /sys/fs/cgroup
/dev/sda3                                     19706880 2473192  17233688  13% /
/dev/sda1                                       201380  139492     61888  70% /boot
tmpfs                                           202792       0    202792   0% /run/user/0
192.168.100.81:/usr/local/kubernetes/volumes  19706880 2472960  17233920  13% /usr/local/kubernetes/volumes-mount

测试:在volumes-mount写入一个文件,查看volumes是否同步,如果文件同步了说明安装成功。

取消NFS客户端挂载

#注意不要直接在挂载目录执行,否则会报错
umount /usr/local/kubernetes/volumes-mount

关注微信公众号,免费获取文档及资源

项目环境搭建【Docker+k8s】六  kubernetes准备数据卷

学习交流QQ群【883210148】

项目环境搭建【Docker+k8s】六  kubernetes准备数据卷

上一篇:Vue源码学习之render


下一篇:Mac根目录下无法创建文件或目录