Amazon web services 连接AWS efs和kubernetes
我想把AWS efs和Kubernetes联系起来, 我使用mounting命令成功地将EFS装载到我的所有节点上: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
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
的输出?