nfs已经搭建好了,参考:
https://blog.csdn.net/weixin_41831919/article/details/118057550
创建PV nfs-pv.yaml文件(
此处埋下了坑,需要path: “/mnt/nfs1″修改 path: “/aone”,后面的报错会提示出来,提前修改后面不会出现报错,因为/aone才是nfs系统的挂载资源,/mnt/nfs1为挂载点
)
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: ""
nfs:
server: 172.17.0.10
path: "/mnt/nfs1"
kubectl apply -f nfs-pv.yaml
查看pv
kubectl get pv
创建pvc nfs-pvc.yaml文件
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 1Gi
kubectl apply -f nfs-pvc.yaml
查看pvc
kubectl get pvc
创建pod测试pvc绑定
apiVersion: v1
kind: ReplicationController
metadata:
name: nfs-busybox
spec:
replicas: 1
selector:
name: nfs-busybox
template:
metadata:
labels:
name: nfs-busybox
spec:
containers:
- image: busybox
command:
- sh
- -c
- 'while true; do date > /mnt/index.html; hostname >> /mnt/index.html; sleep $(($RANDOM % 5 + 5)); done'
imagePullPolicy: IfNotPresent
name: busybox
volumeMounts:
- name: nfs
mountPath: "/upload"
volumes:
- name: nfs
persistentVolumeClaim:
claimName: nfs-pvc
部署
kubectl apply -f busybox.yaml
查看pod描述,报错
Warning FailedMount 14s kubelet, vm-0-10-centos MountVolume.SetUp failed for volume “nfs-pv” : mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: –description=Kubernetes transient mount for /var/lib/kubelet/pods/9d715cdd-8ee2-4ee0-8594-7ef7da385418/volumes/kubernetes.io~nfs/nfs-pv –scope — mount -t nfs 172.17.0.10:/mnt/nfs1 /var/lib/kubelet/pods/9d715cdd-8ee2-4ee0-8594-7ef7da385418/volumes/kubernetes.io~nfs/nfs-pv
Output: Running scope as unit run-12779.scope.
mount.nfs: mounting 172.17.0.10:/mnt/nfs1 failed, reason given by server: No such file or directory
检查发现使nfs的pv绑定出现问题,导致 mounting 172.17.0.10:/mnt/nfs1 failed
将原先的nfs-pv.yaml修改:path: “/aone”
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: ""
nfs:
server: 172.17.0.10
path: "/aone"
删除pod.pvc.pv,重新部署即可。