一、前提条件
1、NFS_Server 部署好了。
2、网络可达。
二、 使用方式
1、CSI
**项目地址
https://github.com/kubernetes-csi/csi-driver-nfs#readme
Install NFS CSI driver v4.10.0 version on a kubernetes cluster
If you have already installed Helm, you can also use it to install this driver. Please check Installation with Helm.
Install with kubectl
*下面两种方式选一个。
- Option#1. remote install
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.10.0/deploy/install-driver.sh | bash -s v4.10.0 --
- Option#2. local install
git clone https://github.com/kubernetes-csi/csi-driver-nfs.git cd csi-driver-nfs ./deploy/install-driver.sh v4.10.0 local
- check pods status:
kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller kubectl -n kube-system get pod -o wide -l app=csi-nfs-node
example output:
NAME READY STATUS RESTARTS AGE IP NODE csi-nfs-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-nfs-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0
clean up NFS CSI driver
- Option#1. remote uninstall
curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.10.0/deploy/uninstall-driver.sh | bash -s v4.10.0 --
- Option#2. local uninstall
git clone https://github.com/kubernetes-csi/csi-driver-nfs.git cd csi-driver-nfs git checkout v4.10.0 ./deploy/uninstall-driver.sh v4.10.0 local
2、手动——PV_PVC
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs
spec:
capacity:
storage: 1Mi
accessModes:
- ReadWriteMany
nfs:
server: nfs-server.default.svc.cluster.local
path: "/"
mountOptions:
- nfsvers=4.2
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 1Mi
volumeName: nfs
3、POD直接读取
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: registry.k8s.io/test-webserver
name: test-container
volumeMounts:
- mountPath: /my-nfs-data
name: test-volume
volumes:
- name: test-volume
nfs:
server: my-nfs-server.example.com
path: /my-nfs-volume
readOnly: true