Access to Mongodb in Kubernetes

You can use kubectl port-forward mypod 27017:27017 and then just connect your mongodb client to localhost:27017.

If you want to stop, just hit Ctrl+C on the same cmd window to stop the process.


The kubernetes cmd-line tool provides this functionality as @ainlolcat stated

kubectl get pods

Retrieves the pod names currently running and with:

kubectl exec -i mongo-controller-* bash

you get a basic bash, which lets you execute

mongo

to get into the database to create dumps, and so on. The bash is very basic and has no features like completion and so on. I have not found a solution for better shell but it does the job


when you create a service in kubernetes you give it a name, say for example "mymongo". After the service is created then

The DNS service of kubernetes (by default is on) will ensure that any pod can discover this servixe simply by its name. so you can set your uri like

uri: mongodb://**mymongo**:27017/mong

In addition the service IP and port will be set as environment variables at the running pod.

MYMONGO_SERVICE_HOST

MYMONGO_SERVICE_PORT

I have in fact wrote a blog that show a step by step example of an app with nodejs web server and mongo that can explain further

http://codefresh.io/blog/kubernetes-snowboarding-everything-intro-kubernetes/

feedback welcome!