我一直在为我的工作部署设置一个 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);
我的问题是,如何在代码中使用安装服务/部署。
谢谢
有许多方法可以使用外部服务,例如:
在- 应用中对服务的 IP:端口进行硬编码。
- 在应用中使用环境变量并通过配置映射注入它们。
- 创建服务/终结点、外部名称服务或具有外部 IP 的服务。这允许您的应用程序使用 Kubernetes 的服务发现机制。
在您的情况下,您只需使用 :const MONGO_URI = 'mongodb://mongo/${config.collection}?authSource=admin';
作为名称mongo
将映射到159.89.x.x:xxx