首页 > 解决方案 > 在 EKS + Fargate 节点中运行的容器的卷挂载超时

问题描述

我按照本教程:https ://www.eksworkshop.com/beginner/190_efs/launching-efs/创建 EFS 实例,然后按照本教程:https ://aws.amazon.com/blogs/aws/new -aws-fargate-for-amazon-eks-now-supports-amazon-efs/将 EFS 实例挂载为我的 Fargate EKS 节点的一部分。

但是,当我尝试安装我的 pod 时,使用:

  volumeMounts:
    - mountPath: /data/druid/data
      name: data-volume
    - mountPath: /data/druid/deepstorage
      name: deepstorage-volume
  volumes:
    - name: data-volume
      persistentVolumeClaim:
        claimName: efs-claim
    - name: deepstorage-volume
      persistentVolumeClaim:
        claimName: efs-claim

我的容器卡在“ContainerCreating”中,当我检查容器时,我可以看到“FailedMount”错误:

  Warning  FailedMount      2m6s (x6 over 42m)   kubelet, fargate-ip-xxx-xxx-xxx-xx.eu-west-2.compute.internal  Unable to attach or mount volumes: unmounted volumes=[data-volume], unattached volumes=[nodetype-config-volume data-volume deepstorage-volume default-token-gfntm common-config-volume]: timed out waiting for the condition

我尝试了一些不同的方法,例如确保所有安全组都可以通过 EFS 中的“网络”选项卡访问该 EFS 实例。我已经为 EKS 的两个安全组明确授权了端口 2049。但不幸的是,似乎没有什么能解决这个问题。

我试过的命令:

aws ec2 authorize-security-group-ingress --region eu-west-2 --group-id $MOUNT_TARGET_GROUP_ID --protocol tcp --port 2049 --cidr $CIDR_BLOCK

EFS 和 EKS 集群都在同一个 VPC 中。

标签: amazon-web-serviceskubernetesamazon-eksamazon-efs

解决方案


推荐阅读