kubernetes中使用NFS创建静态pv_pvc

  • Post author:
  • Post category:其他


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,重新部署即可。



版权声明:本文为weixin_41831919原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。