Это похоже на причину, по которой существуют классы хранения :
StorageClass предоставляет администраторам возможность описывать «классы» хранения, которые они предлагают. Различные классы могут отображаться на уровни качества обслуживания, политики резервного копирования или произвольные политики, определенные администраторами кластера. Сам Kubernetes не знает, что представляют классы. Эту концепцию иногда называют «профилями» в других системах хранения.
Другими словами, вы можете создать несколько классов хранения с различной производительностью или другими характеристиками. А затем решите, какой из них наиболее подходит для каждого созданного утверждения.
Например, это класс хранения, который вы можете использовать в minikube:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast
provisioner: k8s.io/minikube-hostpath
parameters:
type: pd-ssd
И вам, вероятно, также понадобится чтобы создать PV, вы можете сделать это, используя:
apiVersion: v1
kind: PersistentVolume
metadata:
name: some-name-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /tmp/path
Затем, наконец, PV C будет выглядеть так:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: some-pvc
spec:
storageClassName: fast
resources:
requests:
storage: 100Mi
accessModes:
- ReadWriteOnce