谷歌云负载均衡器 + GKE 入口
Posted
技术标签:
【中文标题】谷歌云负载均衡器 + GKE 入口【英文标题】:Google Cloud Load Balancer + GKE ingress 【发布时间】:2021-03-18 14:43:54 【问题描述】:我已按如下方式配置了 Google Cloud Load Balancer:
GFE(前端)监听 :443,仅 https/*
上的主机匹配 + 路径匹配
单个 NEG(网络端点组)作为负载平衡器的后端服务
我不明白,为什么将实例组作为后端服务链接到此负载均衡器(见下文):
实例组后端服务链接到为我的 Kubernetes 集群配置的虚拟机实例。此外,如果我从此负载均衡器中删除实例组后端服务,my-app
仍然可以通过全局 IP 地址访问。
但是,几分钟后,实例组后端服务又回来了,并再次链接到负载均衡器。
在文档或任何示例中将网络端点组与 Google Cloud Load Balancer 一起使用时,我似乎找不到任何关于此行为的信息。
如果您知道实例组后端服务为什么被链接,为什么被移除后又返回,请回复。
【问题讨论】:
在何处以及如何删除您的实例组后端? 在负载均衡器详细信息中(通过云控制台),我编辑并删除了实例组后端。所以在上图中,编辑按钮。 您是否保存了更改? (我已经犯了这个错误......) 是的,我确实保存了。我还看到实例组后端已从负载均衡器中删除。几分钟后,我看到它又被添加了。 这可能就是 Google 在与 Kubernetes 一起使用时实现 NEG 的方式吗? 【参考方案1】:在创建 GKE 入口时,可以在 yaml 上定义几个选项,其中一个选项是有一个 Default Backend defined,将不匹配任何主机或路径的请求发送到它。
默认情况下,当没有指定默认后端时,GKE 会自动添加它自己的小型 Web 应用程序以回复 404 到任何不匹配的请求,根据您的屏幕截图,您看到的附加实例组是在创建时未手动指定此默认后端。
另外手动删除后端不起作用,因为 GKE 始终尝试使所有资源与 YAML 中描述的内容保持同步,如果您想删除它,则需要为不匹配的请求指定 your own default backend。
【讨论】:
这听起来完全合乎逻辑!我错过了文档中的那部分,感谢您指出。让我看看当我指定默认后端时,Google 提供的后端是否会消失。 刚刚验证,确实是这样。我指定了默认后端,实例组后端消失了。以上是关于谷歌云负载均衡器 + GKE 入口的主要内容,如果未能解决你的问题,请参考以下文章
同一区域中的 GCP 虚拟机无法 Ping 使用 GKE 内部 LB 入口创建的内部 HTTPS 负载均衡器 IP
将 kubernetes(GKE) 服务层指标发送到 GCP 负载均衡器