Вы можете использовать Amazon EFS для создания PersistentVolume с ReadWriteMany
режимом доступа.
Amazon EKS Объявлено о поддержке драйвера Amazon EFS CSI Driver 19 сентября 2019 г., что упрощает настройку эластичного файлового хранилища как для EKS, так и для самоуправляемых кластеров Kubernetes, работающих на AWS, с использованием стандартных интерфейсов Kubernetes.
Приложения, работающие в Kubernetes, могут использовать файловые системы EFS для обмена данными между модулями в горизонтально масштабируемой группе или с другими приложениями, работающими внутри или вне Kubernetes.
EFS также может помочь приложениям Kubernetes быть высокодоступными, поскольку все данные, записываемые в EFS, записываются в несколько зон доступности AWS. Если модуль Kubernetes завершен и перезапущен, драйвер CSI повторно подключит файловую систему EFS, даже если модуль перезапустится в другой зоне доступности AWS.
Вы можете развернуть драйвер CSI Amazon EFS в кластере Amazon EKS, следуя Руководство пользователя EKS-EFS-CSI, примерно так:
Шаг 1. Разверните драйвер Amazon EFS CSI.
kubectl apply -k "github.com/kubernetes-sigs/aws-efs-csi-driver/deploy/kubernetes/overlays/stable/?ref=master"
Примечание. Для этой команды требуется версия 1.14 или более поздняя версия kubectl.
Шаг 2. Создайте файловую систему Amazon EFS для кластера Amazon EKS.
Шаг 2.1. Создайте группу безопасности, которая разрешает входящий трафик NFS для ваших точек монтирования Amazon EFS.
Шаг 2.2. Добавьте правило в свою группу безопасности, чтобы разрешить входящий трафик NFS из диапазона CIDR VPC.
Шаг 2.3. Создайте файловую систему Amazon EFS, настроенную с помощью только что созданной группы безопасности.
Теперь вы можете использовать EFS с ReadWriteMany
режимом доступа в своем проекте EKS Kubernetes со следующими примерами файлов манифеста:
1. efs-storage-class.yaml: создайте класс хранилища.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: efs-sc
provisioner: efs.csi.aws.com
kubectl apply -f efs-storage-class.yaml
2. efs-pv.yaml: создать PersistentVolume.
apiVersion: v1
kind: PersistentVolume
metadata:
name: ftp-efs-pv
spec:
storageClassName: efs-sc
persistentVolumeReclaimPolicy: Retain
capacity:
storage: 10Gi # Doesn't really matter, as EFS does not enforce it anyway
volumeMode: Filesystem
accessModes:
- ReadWriteMany
csi:
driver: efs.csi.aws.com
volumeHandle: fs-642da695
Примечание. Вам необходимо заменить значение volumeHandle идентификатором вашей файловой системы Amazon EFS.
3. efs-pvc.yaml: создать PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ftp-pv-claim
labels:
app: ftp-storage-claim
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: efs-sc
Так и должно быть. Для подробное объяснение, где вы также можете найти пример приложения для проверки вашей настройки.
person
Yuci
schedule
09.01.2020