将 App Engine 上的应用连接到在 GKE 上运行的集群

not*_*Dev 2 google-app-engine google-kubernetes-engine

我有一个在 GAE 上运行的应用程序,我有一个在 google kubernetes 引擎上运行的数据库。我已经通过转发端口成功测试了工作数据库kubectl port-forward pod-name 3001:3001并确认它正在工作。

但是我的应用程序无法连接到它。我认为谷歌云项目中的所有应用程序都可以通过本地主机访问。那不是真的吗?

如果没有,那么我如何将我在 GAE 上的应用程序连接到我在 GKE 上的数据库?

not*_*Dev 5

有两种方式:

一个常规的 LoadBalancer,它将集群打开到公共互联网。

另一种方法是使用内部 LoadBalancer,它只打开谷歌云内的流量。

现在,它是否在整个 Gcloud 网络上打开它,只是你的项目,甚至只是一个项目,我都不清楚。文档在这方面也不清楚。

也许 Google Cloud 团队的某个人可以在这里帮助我。

要将 LoadBalancer 服务转换为内部 LoadBalancer 服务,我们添加以下注释:

  annotations:
    cloud.google.com/load-balancer-type: "Internal"
Run Code Online (Sandbox Code Playgroud)

kubectl apply然后过了一分钟左右kubectl get services。您会看到一个外部 IP 地址添加到您的服务中。Gcloud 上的其他应用程序可以访问该 IP,但不能从公共互联网访问。