sudo mkdir -p /data/volumes
sudo microk8s enable hostpath-storage
sudo microk8s.kubectl wait deployment -n kube-system -l k8s-app=hostpath-provisioner --for condition=Available=True --timeout=180s
# Create an unreplicated storage class sudo microk8s.kubectl apply -f - <<EOF --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: unreplicated provisioner: microk8s.io/hostpath reclaimPolicy: Delete parameters: pvDir: /data/volumes volumeBindingMode: WaitForFirstConsumer EOF
# Create a replicated storage class (same as unreplicated for single node) sudo microk8s.kubectl apply -f - <<EOF --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: replicated provisioner: microk8s.io/hostpath reclaimPolicy: Delete parameters: pvDir: /data/volumes volumeBindingMode: WaitForFirstConsumer EOF
sudo microk8s.kubectl patch storageclass unreplicated -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'