如何在 Kubernetes 中使用外部 MongoDB 服务



我一直在为我的工作部署设置一个 Kubernetes 集群。我将MongoDB托管在外部快捷批处理上,并希望配置外部服务访问。

我正在学习本教程。 当我使用 kubectl 应用我的配置时,一切似乎都运行良好。

我的设置服务和端点

kind: Service
apiVersion: v1
metadata:
name: mongo
spec:
ports:
- name: mongodb
port: xxxx
------
kind: Endpoints
apiVersion: v1
metadata:
name: mongo
subsets:
- addresses:
- ip: 159.89.x.x
ports:
- port: xxx

我正在使用打字稿进行开发,这就是我目前设置数据库连接的方式

const MONGO_URI = `mongodb://${config.mongourl}:${config.mongoport}/${config.collection}?authSource=admin`;
const options ={
user:`${config.mngusername}`, 
pass:`${config.mngpassword}`,
keepAlive: true, 
keepAliveInitialDelay: 300000,
useNewUrlParser: true,
useCreateIndex: true
}
mongoose.connect(MONGO_URI, options);

我的问题是,如何在代码中使用安装服务/部署。
谢谢

有许多方法可以使用外部服务,例如:

  1. 应用中对服务的 IP:端口进行硬编码。
  2. 在应用中使用环境变量并通过配置映射注入它们。
  3. 创建服务/终结点、外部名称服务或具有外部 IP 的服务。这允许您的应用程序使用 Kubernetes 的服务发现机制。

在您的情况下,您只需使用 :
const MONGO_URI = 'mongodb://mongo/${config.collection}?authSource=admin';
作为名称mongo将映射到159.89.x.x:xxx

最新更新