2 篇文章带有标签 “NFS”

使用 StorageClass 动态创建 NFS 持久卷

使用卷时, 在 .spec.volumes 字段中设置为 Pod 提供的卷,并在 .spec.containers[*].volumeMounts 字段中声明卷在容器中的挂载位置。

emptyDir 卷的存储介质(例如磁盘、SSD 等)是由保存 kubelet 数据的根目录(通常是 /var/lib/kubelet)的文件系统的介质确定。 Kubernetes 对 emptyDir 卷或者 hostPath 卷可以消耗的空间没有限制,容器之间或 Pod 之间也没有隔离。

PV 对象是由运维人员事先创建在 Kubernetes 集群里待用的。

PVC 对象通常由开发人员创建。

每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在 StorageClass 需要动态制备 PersistentVolume 时会使用到。

  • no_subtree_check NFS 服务器将忽略子目录的检查。这意味着,无论请求的路径是否位于共享目录的子目录中,NFS服务器都将按照共享目录的权限设置来处理请求。这样可以提高性能,因为服务器不再需要进行额外的子目录检查。

需要谨慎使用,以确保共享目录的访问权限受到正确的限制。

no_root_squash no_root_squash 选项用于取消 NFS 服务器对 root 用户的权限限制,

NFS配置

  • 查看服务状态
sudo systemctl status nfs-server
  • 查看开启的NFS协议
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
  • 配置访问的路径
sudo nano /etc/exports
/data/nfs        172.16.33.0/24(rw,sync,fsid=0,crossmnt,no_subtree_check)
  • 应用配置
sudo exportfs -ra
  • 查看当前应用
sudo exportfs -v
  • 重启服务
sudo systemctl restart nfs-server
  • 查看NFS服务器导出列表
showmount -e 172.16.33.157
Export list for 172.16.33.157:
/data/nfs 172.16.33.0/24,172.16.128.164
  • 挂载NFS
sudo mount -t nfs 172.16.33.157:/ $(pwd)/nfs
  • 移除挂载
sudo umount $(pwd)/nfs