将pod中的Mongodb连接到kubernetes中的另一个nestjs api pod

将pod中的Mongodb连接到kubernetes中的另一个nestjs api pod,kubernetes,nestjs,kubernetes-pod,Kubernetes,Nestjs,Kubernetes Pod,我在kubernetes使用Hyper-V和minikube和kubectl,我无法通过Mongo服务将我的Nestjs api连接到Mongo Pod,这是两种不同的部署 我的Mongo.yml文件和服务: apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-deployment labels: app: mongodb spec: replicas: 1 selector: matchLa

我在kubernetes使用Hyper-V和minikube和kubectl,我无法通过Mongo服务将我的Nestjs api连接到Mongo Pod,这是两种不同的部署

我的Mongo.yml文件和服务:

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: mongodb-deployment
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
      - name: mongodb
        image: mongo
        ports:
        - containerPort: 27017

---

apiVersion: v1
kind: Service
metadata:
  name: mongodb-service
spec:
  selector:
    app: mongodb
  ports:
    - protocol: TCP
      port: 27017
      targetPort: 27017
我的Api acp-Api.yml文件:

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: acp-api-deployment
  labels:
    app: acp-api
spec:
  replicas: 1
  selector:
    matchLabels:
      app: acp-api
  template:
    metadata:
      labels:
        app: acp-api
    spec:
      containers:
      - name: acp-api
        image: acp/acp-rest-api
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 3000
Api配置,其中我必须为连接提供mongodb uri:

import { Injectable } from '@nestjs/common'
import { MongooseModuleOptions, MongooseOptionsFactory } from '@nestjs/mongoose'

@Injectable()
export class MongooseConfigService implements MongooseOptionsFactory {
  private username: string = ''
  private password: string = ''

  constructor() {}

  createMongooseOptions():
    | Promise<MongooseModuleOptions>
    | MongooseModuleOptions {
    return {
      useCreateIndex: true,
      useNewUrlParser: true,
      useFindAndModify: false,
      useUnifiedTopology: true,
      uri: 'mongodb://mongodb-service:27017/acp--db'
    }
  }
}
从'@nestjs/common'导入{Injectable}
从'@nestjs/mongoose'导入{MongooseModuleOptions,MongooseOptionsFactory}
@可注射()
导出类MongooseConfigService实现MongooseOptions工厂{
私有用户名:字符串=“”
私人密码:字符串=“”
构造函数(){}
createMongooseOptions():
|允诺
|MongooseModuleOptions{
返回{
useCreateIndex:true,
useNewUrlParser:true,
UseFindModify:false,
useUnifiedTopology:正确,
uri:'mongodb://mongodb-service:27017/acp--db'
}
}
}
我尝试过使用mongo db服务名称,包括端口、pod ip和非端口 但是无法连接