类型
状态
日期
链接
摘要
标签
分类
图标
密码
1 概述
相信使用过pv和pvc的肯定会想到很多问题,比如每次申请 pvc 都需要手动添加pv,这岂不是太不方便了。那我们如何实现类似于公有云或者私有云的共享存储模式呢?kubernetes 提供了 storageclass 的概念,接下来我们来一探究竟。
先上一张图大家就比较清楚了:

2 环境
2.1 k8s集群环境
Node(宿主机上)都要安装nfs
2.2 nfs 环境
2.2.1 搭建nfs服务端
vi /etc/exports
这行代码的意思是把共享目录
/home/nfsfile
共享给 *
这个客户端ip,后面括号里的内容是权限参数,其中:- rw 表示设置目录可读写。
- sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。
- no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。
- no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。
showmount -e localhost
\
2.2.2 客户端验证nfs
我们在客户端执行以下命令:
showmount -e 10.8.111.153
客户端开始挂载共享目录:
客户端验证是否挂载成功:
最后,如果需要永久挂载该共享目录(即实现开机自动挂载),则可以通过如下方式实现:
3 直接pod挂载nfs
4 使用storageClass、pv、pvc
rbac.yaml
nfs-subdir-external-provisioner.yaml
nfs-storage-class.yaml
nfs-test-pvc.yaml
nfs-test-nginx-pod.yaml
5 其他
- 作者:Cloud1024
- 链接:https://itq5.com/posts/linux_k8s_storageclass
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。