K8s-文件管理系统nfs(centos)

什么是nfs

NFS在文件传送或信息传输过程中依赖于RPC协议,RPC协议可以在不同的系统之间使用。使用NFS用户端时只需要把远程文件系统挂载到自己的文件系统下即可访问,NFS有客户端和服务端

Deploy

nfs部署

  1. centos部署nfs

    yum install -y nfs-utils rpcbind

  2. 执行命令 vim /etc/exports,创建 exports 文件,文件内容如下

    /data/nfs_root/ *(insecure,rw,sync,no_root_squash)	
  3. 启动nfs

    mkdir -p /data/nfs_root

    systemctl enable rpcbind
    systemctl enable nfs-server

    systemctl start rpcbind
    systemctl start nfs-server
    exportfs -r

nfs-provisoner部署

# 获取helm charts
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
# 给有nfs的服务器打标签
kubectl label node <nfsnode> nfs=work

# 修改value.yaml
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "nfs"
operator: In
values:
- "work"
# 安装nfs
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path

helm upgrade --install nfs-subdir-external-provisioner nfs-subdir-external-provisioner -n nfs --create-namespace