Amazon web services 连接AWS efs和kubernetes

Amazon web services 连接AWS efs和kubernetes,amazon-web-services,kubernetes,amazon-efs,Amazon Web Services,Kubernetes,Amazon Efs,我想把AWS efs和Kubernetes联系起来, 我使用mounting命令成功地将EFS装载到我的所有节点上: sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-fe058857.efs.us-west-2.amazonaws.com:/ efs 我创建的efs目录中的每一个更改都会在连接到它的每个节点中看到 我可以看到运行时,EFS映射到我的节点:df-h

我想把AWS efs和Kubernetes联系起来, 我使用mounting命令成功地将EFS装载到我的所有节点上:

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-fe058857.efs.us-west-2.amazonaws.com:/ efs
我创建的efs目录中的每一个更改都会在连接到它的每个节点中看到

我可以看到运行时,EFS映射到我的节点:
df-h

admin@ip-172-20-34-666:~/efs$ df -h
Filesystem                                 Size  Used Avail Use% Mounted on
udev                                        10M     0   10M   0% /dev
tmpfs                                      791M  664K  791M   1% /run
/dev/xvda1                                 120G  3.4G  112G   3% /
tmpfs                                      2.0G     0  2.0G   0% /dev/shm
tmpfs                                      5.0M     0  5.0M   0% /run/lock
tmpfs                                      2.0G     0  2.0G   0% /sys/fs/cgroup
fs-fe058857.efs.us-west-2.amazonaws.com:/  8.0E     0  8.0E   0% /home/admin/efs
现在我试着运行一个正在使用EFS的pod, 因此,我创建了一个简单的pod,并将/efs目录装载到我创建的声明中,如下所示:

      volumeMounts:
        - name: cassandra
          mountPath: /efs  

  volumes:
    - name: cassandra
      persistentVolumeClaim:
        claimName: persistantvolumeclaim
  imagePullSecrets:
    - name: mprestg-credentials   
pv yaml:

--- 
apiVersion: v1
kind: PersistentVolume
metadata: 
  name: persistant
spec: 
  accessModes: 
    - ReadWriteOnce
  capacity: 
    storage: 1Gi
  nfs: 
    path: "/"
    server: us-west-2a.fs-fe058857.efs.us-west-2.amazonaws.com
当我进入pod并在挂载的文件夹中创建一个文件时,我可以看到该文件,即使在我终止pod并启动新的pod之后, 但是当我试图在其中一个节点的efs挂载目录中查看该文件时,我看不到它

df-h
舱内给我这个:

root@dummy-pod1:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         120G  4.0G  111G   4% /
tmpfs           2.0G     0  2.0G   0% /dev
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/xvdbw      976M  1.3M  908M   1% /efs
/dev/xvda1      120G  4.0G  111G   4% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs           2.0G   12K  2.0G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs           2.0G     0  2.0G   0% /sys/firmware

在哪里可以找到我在pod中创建的文件?我可以用另一种方法将文件从一个节点复制到挂载的EFS目录并从pod使用它吗?

您确定您的
PersistentVolumeClaim
确实选择了NFS支持的
PersistentVolume
?我这样问是因为你的Pod中的
df-h
输出看起来像Kubernetes安装了一个块设备(
dev/xvdbw
),而不是你的EFS共享。我确定-我在键入get-pvcMy时看到它绑定。我的问题不是PVC是否绑定,而是它是否绑定到了正确的卷。您能否共享
kubectl get pv
kubectl get pvc
的输出?