#amazon-web-services #kubernetes #amazon-eks #persistent-volumes
#amazon-web-services #kubernetes #amazon-eks #постоянные тома
Вопрос:
Наблюдал два вида синтаксиса для создания PV и PVC в AWS EKS.
1) Использование идентификатора тома при создании как PV, так и PVC (создайте том вручную, используя этот идентификатор) 2) Без использования идентификатора тома (динамическое предоставление PV)
пример-1:
- apiVersion: "v1"
kind: "PersistentVolume"
metadata:
name: "pv-aws"
spec:
capacity:
storage: 10G
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: gp2
awsElasticBlockStore:
volumeID: vol-xxxxxxxx
fsType: ext4
В этом случае я создаю том вручную и использую его для создания PV и PVC
пример-2:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc1
spec:
accessModes:
- ReadWriteOnce
storageClassName: gp2
resources:
requests:
storage: 20Gi
В этом случае, просто создав PVC, вы создаете том в серверной части (AWS) и PV.
В чем разница и в том, что использовать в каких сценариях? Плюсы и минусы?
Ответ №1:
Это должно основываться на ваших требованиях. Статическое предоставление, как правило, не масштабируется. Вы должны создавать тома вне контекста k8s. Монтирование существующих томов было бы полезно в сценариях аварийного восстановления.
Использование классов хранения или динамической подготовки, как правило, предпочтительнее из-за удобства. Вы можете создавать роли и квоты ресурсов, чтобы контролировать и ограничивать использование хранилища и снижать операционные издержки.
Комментарии:
1. Что подходит для наборов состояний? например, я использую sts для репликации mongodb (3 модуля, первичный (vol1), вторичный (vol2) и второй вторичный (vol3)) в этом случае я хочу подключить один и тот же том к соответствующему модулю независимо от жизненного цикла для обеспечения согласованности данных.
2. Это не должно иметь значения для StatefulSets, если вы не удаляете утверждения и не создаете их заново. При каждом повторном создании создавался бы новый диск. Это то, что я имел в виду под сценарием аварийного восстановления. В этом случае вы можете создать резервную копию своих конфигураций и восстановить их с помощью sth, такого как Velero.