Проблема, которая здесь происходит, заключается в том, что если вы хотите статически предоставить PersistentVolumes, у них нет StorageClass
. Однако кластеры GKE создаются с standard
StorageClass
, который является значением по умолчанию, и поэтому PVC запутывается и пытается динамически распределить.
Решение состоит в том, чтобы запрос PVC пустым классом хранения,что заставляет его смотреть на статически подготовленные PV.
Таким образом, вы будете использовать последовательность, подобную этой, чтобы создать PV, а затем привязать его к PVC:
- Предоставление вручнуюssd:
gcloud compute disks create --size=10Gi --zone=[YOUR ZONE] --type=pd-ssd already-created-ssd-disk
- Затем примените объект PV, который использует статически подготовленный диск, например:
apiVersion: v1
kind: PersistentVolume
metadata:
name: ssd-for-k8s-volume
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
gcePersistentDisk:
pdName: already-created-ssd-disk
fsType: ext4
- Затем вы можете заявить это с помощью PVC следующим образом:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-ssd-demo
spec:
storageClassName: ""
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Вы также можете использовать метки, чтобы уточнить, какие PV выбраны, конечно, например, если у вас есть некоторые, которыеSSD и другие, которые регулярно вращаются.
Обратите внимание, что идея использования StorageClass
для статической инициализации не совсем правильная, поскольку StorageClass
привязан к , как вы описываете. хранилище для динамического обеспечения .