【AWS】 【Kubernetes】 【eks】AWS EKSでPersistentVolumeClaim経由でEFSを使う

EKSからEFSを操作するためのツール的な?
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/storage-classes.html
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/efs-csi.html
1.14以降であればデフォルトでデプロイされている
未満であれば、上記URLから手動でデプロイする必要がある
kubectl get storageclass
出力結果
名前提供者の年齢
gp2(デフォルト)kubernetes.io/aws-ebs 11h
kubectl apply -k "github.com/kubernetes-sigs/aws-efs-csi-driver
/deploy/kubernetes/overlays/stable/?ref=master"
kubectl get daemonsets efs-csi-node --namespace = kube-system
出力結果
名前必要な現在の準備ができて最新の利用可能なノードセレクターの年齢
efs-csi-node 2 2 0 2 0 beta.kubernetes.io/os=linux 91s
kubectl get csidrivers.storage.k8s.io
出力けっか
で作成された名前
efs.csi.aws.com 2019-10-27T08:08:04Z
aws eks describe-cluster --name k8s-cluster --query
cluster.resourcesVpcConfig.vpcId --output text
vpc-059ad19ca888486c4
aws ec2 describe-vpcs --vpc-ids vpc-059ad19ca888486c4
出力結果
"CidrBlockAssociationSet":[
{
"AssociationId": "vpc-cidr-assoc-0a2a4f054ca33b5f0"、
"CidrBlock": "192.168.0.0/16"、
"CidrBlockState":{
「状態」:「関連」
}
}
git clone https://github.com/kubernetes-sigs/aws-efs-csi-driver.git
cd aws-efs-csi-driver / examples / kubernetes / multiple_pods /
aws efs describe-file-systems --query "FileSystems [*]。FileSystemId"-出力テキスト
出力結果
fs-32b4854b
volumeHandle
を上記のファイルシステムIDへ変更apiVersion : V1の
種類: PersistentVolume
メタデータ:
名前: EFS-PV
仕様:
容量:
ストレージ: 5Gi
volumeMode : ファイルシステム
accessModes :
- ReadWriteMany
persistentVolumeReclaimPolicy : 保持
storageClassName : EFS-SCの
CSIを:
ドライバ: efs.csi.aws.com
volumeHandle : FS- 32b4854b
kubectl apply -f specs /
出力結果
persistentvolumeclaim / efs-claimが作成されました
ポッド/アプリ1が作成されました
ポッド/アプリ2が作成されました
persistentvolume / efs-pvが作成されました
storageclass.storage.k8s.io/efs-scが作成されました
kubectl get pv
出力結果
名前容量アクセスモードRECLAIMポリシーステータスクレームストレージクラス理由年齢
efs-pv 5Gi RWX Retain Bound default / efs-claim efs-sc 93s
kubectlはpv efs-pvを記述します
出力結果
EFSファイルシステムはVolumeHandle
で表示
名前:efs-pv
ラベル:<なし>
アノテーション:kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion": "v1"、 "kind": "PersistentVolume"、
"metadata":{"annotations":{}、 "name": "efs-pv"}、 "spec":{"accessModes"
:[ "ReadWriteMany"]、 "capaci ...
pv.kubernetes.io/bound-by-controller:はい
ファイナライザ:[kubernetes.io/pv-protection]
StorageClass:efs-sc
ステータス:バインド
主張:default / efs-claim
再利用ポリシー:保持
アクセスモード:RWX
VolumeMode:ファイルシステム
容量:5Gi
ノードアフィニティ:<なし>
メッセージ:
ソース:
タイプ:CSI(Container Storage Interface(CSI)ボリュームソース)
ドライバー:efs.csi.aws.com
VolumeHandle:fs-32b4854b
ReadOnly:false
VolumeAttributes:<なし>
イベント:<なし>
kubectl exec -ti app1-tail /data/out1.txt
出力結果
2019年10月21日(月)02:44:10 UTC
2019年10月21日(月)02:44:15 UTC
2019年10月21日(月)02:44:20 UTC
2019年10月21日(月)02:44:25 UTC
2019年10月21日(月)02:44:30 UTC
2019年10月21日(月)02:44:35 UTC
2019年10月21日(月)02:44:40 UTC
2019年10月21日(月)02:44:45 UTC
2019年10月21日(月)02:44:50 UTC
2019年10月21日(月)02:44:55 UTC
Pod2もついでに確認しておく
kubectl exec -ti app2-tail /data/out1.txt