无法从 AKS Cluster\Container 连接到 Mongo DB 的 Cosmos DB API

问题描述 投票:0回答:2

我正在尝试使用代码中的连接字符串将在 AKS 集群上运行的 python Flask 应用程序连接到我的 Cosmos DB 实例。我的 cosmos db 设置配置为对所有网络开放且不受限制,但不知何故我收到超时错误。

我使用的是 Cosmos DB Mongo API ,url 连接字符串如下:

     "url": mongodb://dbname:[pass][email protected]:port/?ssl=true&retrywrites=false&replicaSet=globaldb&maxIdleTimeMS=120000&appName=@appname@ 


      client = MongoClient(cfg.db['url'])
      client_string = cfg.db['url']

我查看了容器日志并收到以下错误
''' 引发服务器选择超时错误( pymongo.errors.ServerSelectionTimeoutError: chatbotmongodb.mongo.cosmos.azure.com:10255: [Errno -3] 临时 名称解析失败,超时:30s,拓扑描述:]> '''

我在本地运行映像并且它运行正常,它在 kubernetes 集群中存在问题,我认为这是由于 NSG 规则所致,我添加了规则以允许 cosmos db 访问我的 vnet,但它不起作用。

任何对此的见解都将受到赞赏。

azure kubernetes containers azure-aks azure-cosmosdb-mongoapi
2个回答
0
投票

上述问题已解决,似乎与 NSG 相关的问题阻碍了 pod 交互,一旦修改规则,它们就开始工作


0
投票

嗨,抱歉,这可能会晚了,但如果您仍然有修改过的规则,请您发布它们,我正在做一个非常相似的项目,但我似乎无法解决这个问题

© www.soinside.com 2019 - 2024. All rights reserved.