How to fix ProvisioningFailed persistentvolume controller no volume plugin matched
Well If you ended up on this article then just like me you are also facing the Warning no volume plugin matched inside your Kubernetes cluster.
Before you read further let me ask you a question Are you trying to set up the Dynamic Volume Provisioning on Local Virtual environment?
If your answer is YES then unfortunately Kubernetes does not support it.
According to kubernetes Official documentation
Local volumes do not currently support dynamic provisioning, however, a StorageClass should still be create to delay volume binding until Pod scheduling. This is specified by the WaitForFirstConsumer volume binding mode.
As like you, I was also reading about Dynamic Volume Provisioning and thought of giving it a try on my Local Kubernetes Cluster.
- I started with setting up my cluster using Kuberspray
- Then I created Persistent Volume and Persistent Volume Claim
But as you know if you are doing self-learning then it never works on your first attempt and the same happened with me.
I almost spent a couple of days reading about Kubernetes Persistent Volume and Persistent Volume Claim and after getting acquainted with it, I thought of trying it out but immediately after I applied my Persistent Volume Configuration and got following warning -
1Warning ProvisioningFailed 100s (x182 over 46m) persistentvolume-controller no volume plugin matched
After spending the whole day trying to troubleshoot the issue I ended up creating a question on StackoverFlow
And finally came to the conclusion it can not be done on the Local Kubernetes cluster if you are using Virtual Machine.
How to fix then?
My recommendation would be to try out Dynamic Volume Provision on actual cloud service.
For Example you can refer to -
- Google Cloud - Dynamic Volume Provisioning
- Amazon Web Service - Dynamic Volume Provisioning
- Openshift - Dynamic Volume Provisioning
>**Learn more On Kubernetes -** >1. [Setup kubernetes on Ubuntu](https://jhooq.com/14-steps-to-install-kubernetes-on-ubuntu-18-04-and-16-04/) >2. [Setup Kubernetes on CentOs](https://jhooq.com/15-steps-to-install-kubernetes-on-bento-centos7/) >3. [Setup HA Kubernetes Cluster with Kubespray](https://jhooq.com/kubespray-12-steps-for-installing-a-production-ready-kubernetes-cluster/) >4. [Setup HA Kubernetes with Minikube](https://jhooq.com/kubernets-and-minikube/) >5. [Setup Kubernetes Dashboard for local kubernetes cluster](https://jhooq.com/setting-up-kubernetes-dashboard/) >6. [Setup Kubernetes Dashboard On GCP(Google Cloud Platform)](https://jhooq.com/setting-up-kubernetes-dashboard/#gke-kubernetes-dashboard) >7. [How to use Persistent Volume and Persistent Volume Claims in Kubernetes](https://jhooq.com/how-to-use-persistent-volume-and-persistent-claims-kubernetes) >8. [Deploy Spring Boot Microservice on local Kubernetes cluster](https://jhooq.com/deploy-spring-boot-microservices-on-kubernetes/) >9. [Deploy Spring Boot Microservice on Cloud Platform(GCP)](https://jhooq.com/deploy-spring-boot-microservices-on-kubernetes/#part-2) >10. [Setting up Ingress controller NGINX along with HAproxy inside Kubernetes cluster](https://jhooq.com/ingress-controller-nginx/) >11. [CI/CD Kubernetes | Setting up CI/CD Jenkins pipeline for kubernetes ](https://jhooq.com/ci-cd-jenkins-kubernetes) >12. [kubectl export YAML | Get YAML for deployed kubernetes resources(service, deployment, PV, PVC....) ](https://jhooq.com/get-yaml-for-deployed-kubernetes-resources/) >13. [How to setup kubernetes jenkins pipeline on AWS?](https://jhooq.com/aws-kubernetes-jenkins-pipeline) >14. [Implementing Kubernetes liveness, Readiness and Startup probes with Spring Boot Microservice Application?](/kubernetes-liveness-readiness-startup-probes/) >15. [How to fix kubernetes pods getting recreated?](/kubernetes-pod-recreated) >16. [How to delete all kubernetes PODS?](/kubernetes-delete-pod) >17. [How to use Kubernetes secrets?](/kubernetes-secrets) >18. [Share kubernetes secrets between namespaces?](/kubernetes-share-secrets-namespaces) >19. [How to Delete PV(Persistent Volume) and PVC(Persistent Volume Claim) stuck in terminating state?](/k8s-delete-pv-pvc) >20. [Delete Kubernetes POD stuck in terminating state?](/k8s-delete-pod-stuck-terminating-state)
Posts in this Series
- Kubernetes Cheat Sheet for day to day DevOps operations?
- Delete Kubernetes POD stuck in terminating state?
- How to Delete PV(Persistent Volume) and PVC(Persistent Volume Claim) stuck in terminating state?
- Share kubernetes secrets between namespaces?
- How to use Kubernetes secrets?
- How to delete all kubernetes PODS?
- kubernetes pods getting recreated?
- Implementing Kubernetes liveness, Readiness and Startup probes with Spring Boot Microservice Application?
- kubectl export yaml OR How to generate YAML for deployed kubernetes resources
- Kubernetes Updates
- CI/CD Kubernetes | Setting up CI/CD Jenkins pipeline for kubernetes
- Kubernetes cluster setup with Jenkins
- How to use Persistent Volume and Persistent Claims | Kubernetes
- How to fix ProvisioningFailed persistentvolume controller no volume plugin matched
- Fixing – Cannot bind to requested volume: storageClasseName does not match
- Fixing – pod has unbound immediate persistentvolumeclaims or cannot bind to requested volume incompatible accessmode
- How to fix kubernetes dashboard forbidden 403 error – message services https kubernetes-dashboard is forbidden User
- How to fix Kubernetes – error execution phase preflight [preflight]
- Deploy Spring Boot microservices on kubernetes?
- How to fix – ansible_memtotal_mb minimal_master_memory_mb
- How to use kubespray – 12 Steps for Installing a Production Ready Kubernetes Cluster
- How to setup kubernetes on CentOS 8 and CentOS 7
- How to fix – How to fix - ERROR Swap running with swap on is not supported. Please disable swap
- 14 Steps to Install kubernetes on Ubuntu 20.04(bento/ubuntu-20.04), 18.04(hashicorp/bionic64)
- Kubernetes Dashboard | Kubernetes Admin GUI | Kubernetes Desktop Client
- Install Kubernetes with Minikube