elasticsearch,kubernetes,google-kubernetes-engine,Google App Engine,elasticsearch,Kubernetes,Google Kubernetes Engine" /> elasticsearch,kubernetes,google-kubernetes-engine,Google App Engine,elasticsearch,Kubernetes,Google Kubernetes Engine" />

Google app engine 从app engine连接到kubernetes引擎

Google app engine 从app engine连接到kubernetes引擎,google-app-engine,elasticsearch,kubernetes,google-kubernetes-engine,Google App Engine,elasticsearch,Kubernetes,Google Kubernetes Engine,我们希望使用一个应用程序引擎灵活的过程来更新我们的ElasticSearch索引,它位于Google Kubernetes引擎上。我们需要通过http(s)地址连接到ElasticSearch。推荐的方法是什么?我们不想将集群暴露给外部网络,因为前面没有身份验证 我已经看到了这一点,但k8s和AE在问答后的两年中都发生了很大的变化 谢谢你的帮助 你链接到的帖子是关于App Engine Standard的。AppEngineFlex构建在谷歌计算引擎虚拟机和谷歌Kubernetes引擎集群使用的

我们希望使用一个应用程序引擎灵活的过程来更新我们的ElasticSearch索引,它位于Google Kubernetes引擎上。我们需要通过http(s)地址连接到ElasticSearch。推荐的方法是什么?我们不想将集群暴露给外部网络,因为前面没有身份验证

我已经看到了这一点,但k8s和AE在问答后的两年中都发生了很大的变化


谢谢你的帮助

你链接到的帖子是关于App Engine Standard的。AppEngineFlex构建在谷歌计算引擎虚拟机和谷歌Kubernetes引擎集群使用的同一个谷歌云网络之上。只要将appengine flex应用程序与Google Kubernetes引擎集群放在同一个VPC中,您就应该能够使用内部网络在它们之间进行通信


另一方面,要将Kubernetes服务公开给集群外部运行的任何东西,都需要修改服务以进行弹性搜索,因为默认情况下,Kubernetes服务只能从集群内部访问(由于服务IP是通过IPTables magic分配和访问的)。您需要“公开”服务,但不是通过外部负载平衡器将其公开给internet,而是使用内部负载平衡器将其公开给VPC。请参阅。

除了Robert的答案,请确保app engine和GKE位于同一区域, 因为内部负载平衡器无法从其他区域使用


检查此项

谢谢@robert。appengine服务始终与GKE集群位于同一个VPC中,因此现在知道我认为我的问题是连接字符串不正确。连接字符串是什么?它是Kubernetes服务的集群IP吗?它应该是公开k8s服务的内部负载平衡器的IP。如果您只是尝试连接到服务ip,那么数据包将不知道从flex应用程序到pods的路径。太好了!感谢您的帮助@robertbailewonding如果您需要为客户端连接设置“螺栓+路由”而不是“螺栓”,需要做什么?