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.
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?
Changing type: Directory
to type: DirectoryOrCreate
works for me.
If by any chance you are using minikube, then don't forget that minikube itself is a container. So hostPath
points to a path in that container, not to a path on your host machine. You have to mount your PC path into the minikube container and then into the POD.
Example:
minikube start --mount --mount-string="/host/path:/minikubeContainer/path"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With