I followed the Kubernetes installation on Ubuntu 18.04 and got my 5 node (4 workers) k8s cluster up and running.
But, as soon as I want to have a PVC/PV for any of the off-the-shelf try out application, it fails as it cant allocate a PVC and PV.
I see the below error:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE myapp-buffer Pending 127m $ kubectl describe pvc myapp-buffer Name: myapp-buffer Namespace: default StorageClass: Status: Pending Volume: Labels: app=myapp release=test Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal FailedBinding 2m57s (x503 over 128m) persistentvolume-controller no persistent volumes available for this claim and no storage class is set
Following the error, I did :
$ k8 get sc no resources found
Thus, realized that there is no storageClass defined, which was STANDARD when I was trying with minikube.
Therefore, need inputs on whats the best way to get a StorageClass defined in an on-prem cluster, which allows apps to create their PVC and PV’s and is visible across k8s cluster and behaves more or less like a standard storage.
- I did try creating StorageType = local-storage (link) , but then most of the apps I was trying wanted a StorageType=Standard. So, this setups didn’t help.
- Just to try out i did name it STANDARD instead of local-storage, but that also didn’t fly with the apps looking for STANDARD storage.
- I also tried out Rook’s Cassandra, but that also fails with same thing that its PVC couldn’t be created. Not sure, if trying Rook’s Ceph will help in having a underlying cluster FS kind of layer ?