dockerkubernetesminikubeudevopenebs

OpenEBS ndm pod stuck in on Minikube: MountVolume.SetUp failed for volume "udev" : hostPath type check failed: /run/udev is not a directory


I am trying to run OpenEBS on Minikube v1.29.0 with --driver=docker and --kubernetes-version=v1.23.12. I have installed OpenEBS using the following command:

kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml

However, the openebs-ndm pod is stuck in ContainerCreating status.

When I run kubectl describe pod openebs-ndm-bbj6s -n openebs, I get the following error message:

Events:
  Type     Reason       Age                From               Message
  ----     ------       ----               ----               -------
  Normal   Scheduled    51s                default-scheduler  Successfully assigned openebs/openebs-ndm-bbj6s to minikube
  Warning  FailedMount  19s (x7 over 51s)  kubelet            MountVolume.SetUp failed for volume "udev" : hostPath type check failed: /run/udev is not a directory

I have tried installing udev as suggested here on my host but it didn't work. Any ideas on how to solve this issue?


Solution

  • If /run/udev is available in a local machine and not present in minkube cluster, then try to mount that folder into minkube cluster by using the minkube mount command, because to run the OpenEBS properly it required access to /run/udev.

    #Syntax of minkube mount
    $ minikube start --mount-string="source_path:destination_path" --mount
    
    #In your case try something like this
    $ minikube start --mount-string="/run/udev:/run/udev" --mount
    

    This will mount the /run/udev to the minkube cluster. Now redeploy the pods and monitor the volume mount of the pod.

    Have a glance at a similar error reference in github issues.