MountVolume.SetUp failed for volume "mongo" : hostPath type check failed: /mongo/data is not a directory

TlmaK0 picture TlmaK0 · Feb 22, 2018 · Viewed 7.5k times · Source

I'm trying to configure a hostPath to launch Mongodb pod.

I have only one node of kubernetes v1.8.5 installed with rancher last stable version.

I have create folder /mongo/data and allow all permissions to all users. enter image description here

I'm able to run docker image perfectly with docker without sudo:

docker run --name some-mongo -v /mongo/data:/data/db mongo:3.2.1

But when I launch to kubernetes:

sudo kubectl create -f mongodb.yml

I get MountVolume.SetUp failed for volume "mongo" : hostPath type check failed: /mongo/data is not a directory

This is the mongodb.yml:

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: mongo:3.2.1
    name: test-container
    volumeMounts:
    - mountPath: /data/db
      name: mongo
  volumes:
  - name: mongo
    hostPath:
      # directory location on host
      path: /mongo/data
      # this field is optional
      type: Directory

Any idea where I should looking for?

Answer

Kevin picture Kevin · Nov 21, 2018

Changing type: Directory to type: DirectoryOrCreate works for me.