Question

How to connect to mongodb atlas cluster from a kubernetes

Posted August 11, 2019 7.5k views
MongoDBKubernetes

Hi Folks,

We have nodeJS application, which we are trying to deploy on DO K8S. we use mongodb atlas and mongoose, it works perfectly on DO on docker-compose. I am getting below error when deploying on K8S. Appreciate any help; I have already explored a lot but no help

https://stackoverflow.com/questions/56402472/kubernetes-node-js-container-cannot-connect-to-mongodb-atlas
https://stackoverflow.com/questions/54213912/unable-to-connect-to-mongodb-atlas-cluster-from-a-kubernetes-cluster

Thanks,
Arvind

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
2 answers

Hi there!

It looks like you may have resolved this issue in your stack overflow:

I figured out the issue, my pod DNS was not configured to allow external connections, so I set dnsPolicy: Default in my YML

Let me know if you have any additional questions.

Regards,

John Kwiatkoski
Senior Developer Support Engineer

Hi community,

Setting dnsPolicy: Default allows us to connect perfectly to mongodb atlas.

But, is there any way to get access to the mongodb atlas cluster without setting dnsPolicy: Default from DO K8s?

I also need communication with other services within the cluster.

I am using Istio and I have defined a Service Entry like this:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: mongo-service-entry
spec:
  hosts:
  - xxx.mongodb.net
  addresses:
  - 0.0.0.0/0
  ports:
  - number: 27017
    name: mongo
    protocol: MONGO
  location: MESH_EXTERNAL
  resolution: NONE 

But I can only get access white listening the droplets ip’s, something that obviously is not a good idea. Because these ip’s can change for example with autoscaling.

Thanks,
Dalpheau