amazon-efs 失败,服务器给出的原因:没有这样的文件或目录

amazon-efs failed, reason given by server: No such file or directory

apiVersion: v1
kind: PersistentVolume
metadata:
    name: ****-pv-public
    namespace: ****
spec:
    storageClassName: efs-sc
    capacity:
        storage: 3Gi
    accessModes:
        - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain
    csi:
        driver: efs.csi.aws.com
        volumeHandle: fs-***
        volumeAttributes:
            path: /***/public
Mounting arguments: -t efs -o tls fs-2f974c54:/****/public /var/lib/kubelet/pods/9784d80e-4678-4b0b-96ae-a5cccf7db7a0/volumes/kubernetes.io~csi/******/mount
Output: Could not start amazon-efs-mount-watchdog, unrecognized init system "aws-efs-csi-dri"
b'mount.nfs4: mounting 127.0.0.1:/****/public failed, reason given by server: No such file or directory'

你安装的是sub directory exists吗?你也可以尝试这样添加吗? 根据示例,路径应该存在。

Replace FileSystemId of the EFS filesystem ID that needs to be mounted. And replace Path with a existing path on the filesystem.

你可以参考这个link:

https://github.com/kubernetes-sigs/aws-efs-csi-driver/tree/master/examples/kubernetes/volume_path

apiVersion: v1
kind: PersistentVolume
metadata:
  name: efs-****-pv
spec:
  capacity:
    storage: 15Gi
  volumeMode: Filesystem
  mountOptions:
    - tls
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: efs-sc
  csi:
    driver: efs.csi.aws.com
    volumeHandle: fs-*****:/****

在这里,我是如何修复它的 首先,创建一个接入点

apiVersion: v1
    kind: PersistentVolume
    metadata:
        name: **-pv-public
        namespace: laravel-test
    spec:
        storageClassName: efs-sc
        capacity:
            storage: 3Gi
        accessModes:
            - ReadWriteMany
        persistentVolumeReclaimPolicy: Retain
        csi:
            driver: efs.csi.aws.com
            volumeHandle: fs-**::fsap-***

和 fs-::fsap-* (::) 不是 (:)