Kubernetes Storage Operations
Jump to navigation
Jump to search
Internal
Get Information about Persistent Volumes
kubectl get pv <pv-name> kubectl describe pv <pv-name>
Get Information about Persistent Volumes Claims
kubectl get pvc <pvc-name> kubectl describe pvc <pvc-name>
Get Information about Storage Classes
NFS volume Example
This is an example to setup and use an nfs volume.
TODO: https://github.com/kubernetes/examples/tree/master/staging/volumes/nfs
Local Volumes
Create a Local Volume, the corresponding Persistent Volume and a Persistent Volume Claim that Binds to It
This is the step-by-step procedure to create a persistent volume backed by a local volume and expose it to a pod with a matching persistent volume claim.
Expose a Local Disk
In this context, "exposing a local disk" means exposing a raw block device. TODO.
Expose a Local Directory
Define a local directory that will be exposed as a persistent volume:
mkdir /mnt/disk1/local-volume-0
Define the persistent volume API resource instance:
apiVersion: v1
kind: PersistentVolume
metadata:
name: worker-00-local-volume-0
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: manual-local-storage
local:
path: /mnt/disk1/local-volume-0
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- worker-00
Note that in the persistent volume metadata shown above, "worker-00" is the name of the node, as known to Kubernetes. It can be obtained with:
kubectl get nodes -o wide