特使在 0.0.0.0:9080 和 <clusterIP>:9080 上都有监听器

Envoy has listener on both 0.0.0.0:9080 and <clusterIP>:9080

我正在玩 Istio 指南中的 Bookinfo 示例。部署成功。我可以看到产品页面。

当我查看 'productpage' pod 的详细 Envoy 设置时,我感到很困惑。来自 istio-pilot for LDS 的 return 显示它有两个侦听器(除其他外),一个正在监视 0.0.0.0:9080,另一个正在监视 172.17.0.9:9080(这是 productpage pod 的 clusterIP)。

我确定循环没有发生。但只是想知道是什么阻止了它?或者我阅读 Envoy 配置的方式是错误的。

此外,我认为一旦已经在同一端口上为 0.0.0.0 创建了侦听器,就不允许侦听特定接口?

只有一个侦听器会实际绑定到 OS 套接字。另一个将 bind_to_port 设置为 false https://www.envoyproxy.io/envoy/configuration/listeners/listeners

Envoy 可以在内部重定向到此类未绑定的侦听器。