Question

How to connect to mongodb atlas cluster from a kubernetes

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


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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

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