将AWS efs与kubernetes连接

时间:2018-02-11 06:56:09

标签: amazon-web-services kubernetes amazon-efs

我正在尝试将AWS efs与Kubernetes连接, 我设法使用安装命令将 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并且正在启动一个新文件夹之后,我也能看到该文件, 但是当我试图在其中一个节点的efs安装目录中看到该文件时 - 我看不到它。

pod中的

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中使用它?

1 个答案:

答案 0 :(得分:0)

第 1 步:

要首先使用 EFS 作为 PV,您需要在您的节点上安装 efs.csi 驱动程序。要做到这一点,their repository

第 2 步:

然后您需要按照 this tutorial - EFS Volume Path 操作,它会以简单的方式完成。

我已经使用上面提到的这两个简单步骤使用 EFS 完成了我的 PV 和 PVC。