Approach 1 (kubernetes volume is attached to google persistent disk, kubernetes volume claim is attached to kubernetes volume)
apiVersion: v1
kind: PersistentVolume
metadata:
name: volume-1
spec:
storageClassName: ""
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
gcePersistentDisk:
pdName: pd-test-1
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pv-claim-1
spec:
storageClassName: ""
volumeName: volume-1
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
Approach 2 (Kubernetes volume claim is directly attached to google persistent disk)
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pv-claim-1
spec:
volumeName: pd-test-1
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
Approach 3 (pod directly uses google persistent disk docs)
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: k8s.gcr.io/test-webserver
name: test-container
volumeMounts:
- mountPath: /test-pd
name: test-volume
volumes:
- name: test-volume
# This GCE PD must already exist.
gcePersistentDisk:
pdName: my-data-disk
fsType: ext4
I'm not sure which method should be used in which scenarios.
What is the difference between three approaches and which one should I use if I want to store data on google persistent disks ?