Así que estoy tratando de crear un volumen persistente en GKE con la siguiente definición:
apiVersion: v1 kind: PersistentVolume metadata: name: pv01-3gi labels: env: prod spec: capacity: storage: 5Gi accessModes: - 'ReadWriteOnce' storageClassName: standardSin embargo, cuando intento aplicar esto, aparece el mensaje de error que se muestra a continuación:
➜ kubectl apply -f pv-1.yaml The PersistentVolume "pv01-3gi" is invalid: spec: Required value: must specify a volume typeTengo entendido que el tipo de volumen está indicado por la clase de almacenamiento que se establece en estándar (que es una clase de almacenamiento predeterminada que ofrece GKE
➜ kubectl get storageclass NAME PROVISIONER AGE standard (default) kubernetes.io/gce-pd 16d¿Qué estoy haciendo mal?
Tenga en cuenta que las Clases de almacenamiento en Volúmenes persistentes aprovisionados directamente solo sirven para hacer posible la referencia a esos volúmenes a través de Reclamaciones de volumen persistente .
La intención aquí es que un administrador del sistema configure un grupo de volúmenes persistentes y se ocupe de los detalles de la referencia a dispositivos de disco duro fuera del clúster. Luego, un desarrollador de aplicaciones puede hacer referencia a esos volúmenes a través de Reclamaciones de volumen persistente, diciendo en sentido figurado: "Encuéntreme un volumen de SSD StorageClass con al menos 5 GB de almacenamiento".
En otras palabras, si crea un PV directamente, asegúrese de proporcionar la configuración exacta, incluida la referencia al dispositivo de almacenamiento físico.
Si usa un aprovisionador dinámico, no es necesario que cree el PV por su cuenta.
Simplemente cree un PVC con clase de almacenamiento y GKE proporcionará automáticamente el PV con el tamaño de almacenamiento solicitado.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: ssd-storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 10 storageClassName: ssdte falta el tipo de volumen en spec . por ejemplo, he agregado el tipo nfs aquí.
apiVersion: v1 kind: PersistentVolume metadata: name: pv01-3gi labels: env: prod spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce storageClassName: standard volumeMode: Filesystem nfs: path: /opt/nfs server: nfs.f22 readOnly: false