Skip to content

Latest commit

 

History

History
96 lines (74 loc) · 3.03 KB

File metadata and controls

96 lines (74 loc) · 3.03 KB

Kubernetes Basic User Guide

This guide gives a simple example on how to provision zonal and regional PDs in single-zone and regional clusters.

Note: Regional cluster support only available in beta starting with Kubernetes 1.14.

Install Driver

See instructions

Zonal PD example

This example provisions a zonal PD in both single-zone and regional clusters.

  1. Create example Zonal Storage Class
$ kubectl apply -f ./examples/kubernetes/demo-zonal-sc.yaml
  1. Create example PVC and Pod
$ kubectl apply -f ./examples/kubernetes/demo-pod.yaml
  1. Verify PV is created and bound to PVC
$ kubectl get pvc
NAME      STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
podpvc     Bound     pvc-e36abf50-84f3-11e8-8538-42010a800002   10Gi       RWO            csi-gce-pd     9s
  1. Verify pod is created and in RUNNING state (it may take a few minutes to get to running state)
$ kubectl get pods
NAME                      READY     STATUS    RESTARTS   AGE
web-server                1/1       Running   0          1m

Regional PD example

Note: Regional cluster support only available in beta starting with Kubernetes 1.14.

This example provisions a regional PD in regional clusters.

  1. Create example Regional Storage Class. Choose between:

    • Unrestricted zones

      $ kubectl apply -f ./examples/kubernetes/demo-regional-sc.yaml
      
    • Restricted zones

      $ kubectl apply -f ./examples/kubernetes/demo-regional-restricted-sc.yaml
      
  2. Create example PVC and Pod

$ kubectl apply -f ./examples/kubernetes/demo-pod.yaml
  1. Verify PV is created and bound to PVC
$ kubectl get pvc
NAME      STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
podpvc     Bound     pvc-e36abf50-84f3-11e8-8538-42010a800002   10Gi       RWO            csi-gce-pd     9s
  1. Verify pod is created and in RUNNING state (it may take a few minutes to get to running state)
$ kubectl get pods
NAME                      READY     STATUS    RESTARTS   AGE
web-server                1/1       Running   0          1m

StorageClass Fields

The list of recognized StorageClass parameters is the same as the list of CSI CreateVolume parameters.

Additional provisioning parameters are described here, for example the following StorageClass will format provisioned volumes as XFS.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: csi-gce-pd-xfs
provisioner: pd.csi.storage.gke.io
parameters:
  type: pd-standard
  csi.storage.k8s.io/fstype: xfs
volumeBindingMode: WaitForFirstConsumer

The list of recognized topology keys in allowedTopologies is listed here