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を使用しているポッドを実行しようとしたので、単純なポッドを作成し、そのように作成したクレームに /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
ポッド内に入り、そのマウントされたフォルダー内にファイルを作成すると、ポッドを終了して新しいポッドが開始された後でもそのファイルを見ることができますが、ノードの 1 つの 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 内で作成したファイルはどこにありますか? また、別の方法でノードの 1 つからマウントされたEFSディレクトリにファイルをコピーし、それをポッドから使用することはできますか?