gpt4 book ai didi

mongoose - GKE 与远程数据库

转载 作者:行者123 更新时间:2023-12-02 11:43:56 25 4
gpt4 key购买 nike

首先对于我的问题,我需要谈谈我的环境:

  • Google 基本设置:1x f1-micro 实例,3 个节点
  • Kubernetes 设置:nginx-ingress-controller、cert-manager、1-后端服务和部署、1-前端服务和部署。
  • Mongo Atlas 设置:3-replicaSet

  • 设置不应该是一个问题,但它可能会给一些场景感觉。

    好的,问题来了,我的 Nodejs 后端使用以下 url 连接到 MonglAtlas 数据库 :
    MONGODB_URI=mongodb+srv://username:pwd@mongotoken-66gqa.gcp.mongodb.net/test?retryWrites=true

    IP 白名单是我使用 nginx-ingress 路由的静态公共(public) IP。让我定义 my.domain到我的前端网页,和 my.domain/api/到后端 api。

    当 IP 白名单为 时一切正常允许从任何地方访问 ,并且后端可以毫无疑问地连接到 MongoAtlas DB。

    但是当我删除该选项并添加与 my.domain 匹配的 IP 时(仔细检查,我 ping my.domain 是绝对相同的 IP),然后后端找不到数据库并出现以下错误:
    MongoNetworkError: connection 4 to closed https....

    如果缺少信息,请告诉我。任何建议表示赞赏!

    另一个怀疑是我在 VPC 网络中获得了 1 个静态 IP 和 3 个临时 IP。我猜这意味着具有负载均衡器 IP 的 3 个节点。如果后端使用临时 IP 连接到 MongoAtlas 后端,我必须检查 pod 中的哪些节点并使该节点静态,但这对 Kubernetes 没有意义。我希望有另一种解决方案:(

    最佳答案

    我使用的解决方案是NAT .
    其概念是建立 1-Google Compute Engine Instance 作为 NAT 网关,并将所有 egress 映射到一个静态 ip。哦,最重要的是以上所有步骤都不需要手动配置,只需按照文档进行操作,一切都应该按预期进行。

    如果有 STATIC_ADDRESS 配额 问题,您可以将您的 ZONE 和 REGION 更改为任何保留 QUOTA 的区域。就我而言,us-central 作为 NAT,us-west 作为原始服务。

    关于mongoose - GKE 与远程数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54492507/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com