我正在尝试将 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
光伏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 中使用它吗?