Connect to mongodb with mongoose both in kubernetes Connect to mongodb with mongoose both in kubernetes kubernetes kubernetes

Connect to mongodb with mongoose both in kubernetes


Your tasksdb Service exposes port 6004, not 27017. Try using the following URL:

const connection = "mongodb://tasksdb.default.svc.cluster.local:6004/tasks";

Changing your network depends on what networking CNI plugin you are using. Every plugin has different steps . For Calico please see https://docs.projectcalico.org/networking/migrate-pools


I believe this is your cluster ip setting for mongodb instance:

apiVersion: v1    kind: Service    metadata:      annotations:        kompose.cmd: kompose convert -f docker-compose.yml -o k8manifest.yml        kompose.version: 1.22.0 (955b78124)      creationTimestamp: null      labels:        io.kompose.service: tasksdb      name: tasksdb    spec:      ports:        - name: "6004"          port: 6004          targetPort: 27017      selector:        io.kompose.service: tasksdb    status:      loadBalancer: {}

When you create an instance of mongodb inside kubernetes, it runs inside a pod. To connect to a pod, we have to go through the cluster IP service. Anytime we are trying to connect to a cluster IP service we are going to write the name of that cluster iP service for the domain of connection url. in this case you connection url must be

mongodb://tasksdb:6004/nameOfDatabase