我正在尝试将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中使用它?
答案 0 :(得分:0)
第 1 步:
要首先使用 EFS
作为 PV,您需要在您的节点上安装 efs.csi
驱动程序。要做到这一点,their repository
第 2 步:
然后您需要按照 this tutorial - EFS Volume Path 操作,它会以简单的方式完成。
我已经使用上面提到的这两个简单步骤使用 EFS
完成了我的 PV 和 PVC。