kubernetes - 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 地址。为什么会这样?任何解释将不胜感激。
解决方案
推荐阅读
- virtualhost - 设置 cloudflare 虚拟主机后 Cloudant 基本身份验证不起作用
- php - Laravel 从数据库中动态填充复选框列表
- jquery - 如何在 th 标签内的 div 标签中垂直对齐文本?
- sql - 查找前一个值的 SQL 脚本,不一定是前一行
- swift - Swift 从类型引用中获取结构属性
- java - 在 Vaadin 中绑定 TwinColSelect
- python - 合并两个带有多个工作表的excel文件而不会丢失格式
- javascript - JavaScript 中的“return {}[]”是什么意思?
- angular - (Angular) 启用 HTML5 模式
- ssl - 手动安装 curl 找不到 openssl