我有一个 GCE http(s) 负载均衡器,配置为将流量引导到 2 个后端: - 默认后端 - 具有单独主机/路径规则的第二个后端(<host>:/*
)
两个后端都存在于同一个实例组上 - 一个运行两个公开不同 NodePort 的 kubernetes 服务的容器集群。
实例组有两个命名端口,每个公开的 NodePort 一个。
尽管两个后端都报告健康,但对第二个后端的所有请求都返回 502。
服务本身不是问题——如果我将第二个后端后面的服务切换为默认服务,它就可以正常工作。
笔记:自从首次发布以来,我已经对此描述进行了大量更新/简化,因为我能够使用更简单的配置来重现该问题。
答案1
默认情况下,不会启用从负载均衡器到实例的流量。遗憾的是,这并没有得到很好的记录,实际上,当您创建负载均衡器时,这应该会自动发生。
尝试将此防火墙规则添加到负载均衡器和虚拟机所在的网络:
130.211.0.0/22 tcp:1-5000 Apply to all targets