Introduction to Kubernetes
Frank Heilmann
Platform Architect and Freelance Instructor
Storage Classes (SC):
If in doubt, use Storage Classes ;-)
There are only three objects that make storage work:
PersistentVolume
PersistentVolumeClaim
StorageClass
A Pod with demand for persisted data uses a
PersistentVolumeClaim
PersistentVolume
for the PodPersistentVolume
is mapped to the claiming PodStorageClass
is used, which defines details like latency and
backup strategy of the PVPersistentVolume
survives (together with stored data),
even when the Pod
is terminatedPod with PersistentVolume
apiVersion: v1 kind: Pod ...
spec: containers: ... volumeMounts: - name: pv-mydata mountPath: /mydata
volumes: - name: pv-mydata persistentVolumeClaim: claimName: datacamp-pvc
PersistentVolumeClaim with StorageClass
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: datacamp-pvc
spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
kubectl
offers a complete set of commands to create and monitor
Kubernetes Storagekubectl get sc
lists all available Storage Classeskubectl get pvc
lists all deployed Persistent Volume Claimeskubectl get pv
lists all deployed Persistent Volumeskubectl apply -f <manifest>
can be used to deploy
storage resources that are declared in Manifests.Introduction to Kubernetes