Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
Persistent Volume Issue on GKE

So I am trying to create a persistent volume on GKE with the definition below:


apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv01-3gi
  labels:
    env: prod
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - 'ReadWriteOnce'
  storageClassName: standard

However when I try to apply this, I get the error message shown below:

➜ kubectl apply -f pv-1.yaml
The PersistentVolume "pv01-3gi" is invalid: spec: Required value: must specify a volume type

My understanding is that the volume type is indicated by the storage class which is set to standard (which is a default storage class offered by GKE


➜ kubectl get storageclass
NAME                 PROVISIONER            AGE
standard (default)   kubernetes.io/gce-pd   16d

What am I doing wrong?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Please note that Storage Classes on directly provisioned Persistent Volumes only serve the purpose to make it possible to reference those volumes via Persistent Volume Claims!

The intention here is that a system administrator sets up a bunch of Persistent Volumes and deals with the details of referencing hard drive devices outside of the cluster. Then an application developer can reference those volumes via Persistent Volume Claims, by stating figuratively speaking: "Please find me a volume of StorageClass SSD with at least 5GB storage".

In other words, if you create a PV directly, please make sure you provide the exact configuration including the reference to the physical storage device.

over 4 years ago · Santiago Trujillo Report

0

If using a dynamic provisioner, there is no need to create the PV on your own.

Just create a PVC with storage class and GKE will automatically provide the PV with the requested storage size.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ssd-storage
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10
  storageClassName: ssd
over 4 years ago · Santiago Trujillo Report

0

you are missing the volume type in spec. for example, i have added nfs type here.

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
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!