我们想使用 App Engine 灵活流程来更新我们在 Google Kubernetes Engine 上的 ElasticSearch 索引。我们需要通过 http(s) 地址连接到 ElasticSearch。推荐的方法是什么?我们不想将集群暴露给外部网络,因为我们没有在它前面进行身份验证。
我看过这个SO post但是自问答以来的 2 年里,k8s 和 AE 都发生了很大变化。
感谢您的帮助!
最佳答案
您链接到的帖子是关于 App Engine 标准的。 App Engine Flex 构建在 Google Compute Engine 虚拟机和 Google Kubernetes Engine 集群使用的同一 Google Cloud 网络之上。只要将 App Engine flex 应用程序放入与 Google Kubernetes Engine 集群相同的 VPC 中,您就应该能够使用内部网络在它们之间进行通信。
另一方面,要将 Kubernetes 服务暴露给在集群外部运行的任何东西,您需要为 Elasticsearch 修改服务,因为默认情况下 Kubernetes 服务只能从集群内部访问(由于服务 IP 是通过 IPTables 魔法分配和访问的)。您需要“公开”服务,而不是通过外部负载均衡器将其公开到 Internet,而是使用内部负载均衡器将其公开到 VPC。参见 https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing .
关于google-app-engine - 从应用引擎连接到 kubernetes 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51198865/