首页 > 解决方案 > istio-proxy监听配置socketaddress.address设置为集群中某个Service的clusterIP是什么意思?

问题描述

从命令中获取一个示例侦听器配置 - istioctl pc listener <pod-name> -o json 它输出所有侦听器,包括:

        "name": "100.69.228.185_443",
        "address": {
            "socketAddress": {
                "address": "100.69.228.185",
                "portValue": 443
            }
        },

100.69.228.185是 istiod 服务的 cluster-ip。我对这意味着什么感到困惑。Envoy文档定义listeners为 - 侦听器是一个命名的网络位置(例如,端口、unix 域套接字等),可以由下游客户端连接。Envoy 公开一个或多个下游主机连接的侦听器。

在这种情况下,Envoy 创建一个套接字并将其绑定到100.69.228.185:443实际上是 istiod 服务的 clusterIP 的 IP/端口?这怎么可能?有一个类似的问题,但这是在容器/pod 上下文之外。

这是我的理解 - 对于 TCP 服务器(在这种情况下,Envoy 代理在这种情况下,因为 istiod 是下游客户端),这会限制套接字接收仅发往该 IP 地址的传入客户端连接。在这种情况下,监听器中配置的 ipaddress 不是 Pod 的 ip 地址。为什么会这样?任何解释将不胜感激。

标签: kubernetesnetworkingistioenvoyproxy

解决方案


推荐阅读