AWS EFS 接入点挂载

AWS EFS Access Point mount

我创建了一个 AWS EFS,我还创建了一个访问点:/ap

我想将该 AP 安装到 Kubernetes 部署中,但它失败了,尽管当我使用 / 时它可以工作。

这些是我正在使用的清单。

PV

apiVersion: v1
kind: PersistentVolume
metadata:
  name: efs-pv
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Mi
  mountOptions:
  - rsize=1048576
  - wsize=1048576
  - hard
  - timeo=600
  - retrans=2
  - noresvport
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /ap
    server: fs-xxx.efs.region.amazonaws.com
  claimRef:
    name: efs-pvc
    namespace: product

PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: efs-pvc
  namespace: product
spec:
  storageClassName: ""
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Mi

我在开始部署时收到了这个。

Unable to attach or mount volumes: unmounted volumes=[data], unattached volumes=[data default-token-qwclp]: timed out waiting for the condition
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/97e66236-cb08-4bee-82a7-6f6cf1db9353/volumes/kubernetes.io~nfs/efs-pv --scope -- mount -t nfs -o hard,noresvport,retrans=2,rsize=1048576,timeo=600,wsize=1048576 fs-559a4f0e.efs.eu-central-1.amazonaws.com:/atc /var/lib/kubelet/pods/97e66236-cb08-4bee-82a7-6f6cf1db9353/volumes/kubernetes.io~nfs/efs-pv
Output: Running scope as unit run-4806.scope.
mount.nfs: Connection timed out

我错过了什么吗?或者我应该改用 CSI 驱动程序?

我强烈建议您按照以下步骤操作:

第 1 步:在您的节点上部署 efs csi 驱动程序

link : https://github.com/kubernetes-sigs/aws-efs-csi-driver

第 2 步:使用这些教程制作新的 PV 和 PVC

link : https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/volume_path/README.md

现在,如果你想为文件夹指定一个路径,那么你可以按照这个教程

link : https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/volume_path/specs/example.yaml

对我有用。