1.由于Kubernetes是分布式容器集群,pod多个副本可能位于不同的node上,这种情况下使用本地存储就无法实现pod直接的文件共享了。因此kubenetes引入网络存储卷使集群中计算机通过TCP/IP网络的方式共享资源,解决不同node节点上的pod多副本资源共享。
kubernetes支持网络存储卷有的很多种,其中包含GlusterFS、NFS、RDB等。
1.1 使用NFS实现网络存储卷
1.1.1 安装nfs服务端(master节点)
1.1.1.1 执行命令
apt install nfs-kernel-server
注意:如果安装报错
The following packages have unmet dependencies:
libevent-core-2.1-7a : Conflicts: libevent-core-2.1-7 but 2.1.12-stable-1build3 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
解决办法:
执行卸载: libevent-core-2.1-7a
sudo apt-get purge libevent-core-2.1-7a
1.1.1.2创建nfs共享目录并创建test.txt文件
mkdir -p /usr/local/data/nfs
cd /usr/local/data/nfs
vi test.txt
1.1.1.3配置nfs
vi /etc/exports
在文件最后一行新增
/usr/local/data/nfs * (async,insecure,no_root_squash,no_subtree_check,rw)
参数说明:
/usr/local/data/nfs:nfs共享的目录,这里设置需要和上一步一致
*:表示不限制访问网段,如果设置网段则表示限制网段,例如:192.168.100.0/24
rw:客户端对该共享目录具有读写权限
async:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限
no_subtree_check:不检查父目录的权限
1.1.1.4重启服务
service nfs-kernel-server restart
1.1.1.5查看共享目录
showmount -e
showmount -e localhost
1.1.2安装nfs客户端(node节点)
1.1.2.1 执行命令
apt–get install nfs–common
注意:如果报错如下
The following packages have unmet dependencies:
libevent-core-2.1-7a : Conflicts: libevent-core-2.1-7 but 2.1.12-stable-1build3 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
执行卸载: libevent-core-2.1-7a
sudo apt-get purge libevent-core-2.1-7a
1.1.2.2挂载
mount -t nfs 192.168.1.8:/usr/local/data/nfs /mnt/
说明:
mount -t nfs 服务端IP:共享目录 /mnt/
1.1.2.2 查看共享目录
cd /mnt/
ls