当Service设置了服务亲和为节点级别,即externalTrafficPolicy取值为Local时,在使用中可能会碰到从集群内部(节点上或容器中)访问不通的情况,回显类似如下内容:
upstream connect error or disconnect/reset before headers. reset reason: connection failure
或:
curl: (7) Failed to connect to 192.168.10.36 port 900: Connection refused
当externalTrafficPolicy的取值为Local时,在不同容器网络模型和服务转发模式下访问不通的场景如下:
- 多实例的工作负载需要保证所有实例均可正常访问,否则可能出现概率性访问不通的情况。
- CCE Turbo集群(云原生2.0网络模型)中,仅当Service的后端对接使用主机网络(HostNetwork)的Pod时,亲和级别支持配置为节点级别。
- 表格中仅列举了可能存在访问不通的场景,其他不在表格中的场景即表示可以正常访问。
|
服务端发布服务类型 |
访问类型 |
客户端请求发起位置 |
容器隧道集群(IPVS) |
VPC集群(IPVS) |
容器隧道集群(IPTABLES) |
VPC集群(IPTABLES) |
|
节点访问类型Service |
公网/私网 |
与服务Pod同节点 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
|
与服务Pod不同节点 |
访问服务端所在节点IP+NodePort — 正常访问
访问其他节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问客户端所在节点私网IP+NodePort — 正常访问
访问客户端所在节点公网IP+NodePort — 无法访问
访问其他节点IP+NodePort ——无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问客户端所在节点私网IP+NodePort — 正常访问
访问客户端所在节点公网IP+NodePort — 无法访问
访问其他节点IP+NodePort ——无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问客户端所在节点私网IP+NodePort — 正常访问
访问客户端所在节点公网IP+NodePort — 无法访问
访问其他节点IP+NodePort ——无法访问 |
|
与服务Pod同节点的其他容器 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点公网IP+NodePort — 正常访问
访问服务端所在节点私网IP+NodePort — 无法访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点公网IP+NodePort — 正常访问
访问服务端所在节点私网IP+NodePort — 无法访问
访问非服务端所在节点IP+NodePort — 无法访问 |
|
与服务Pod不同节点的其他容器 |
访问服务端所在节点IP+NodePort — 正常访问
访问客户端所在节点私网IP+NodePort — 正常访问
访问其他节点IP+NodePort ——无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问客户端所在节点私网IP+NodePort — 正常访问
访问其他节点IP+NodePort ——无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
访问服务端所在节点IP+NodePort — 正常访问
访问非服务端所在节点IP+NodePort — 无法访问 |
|
独享型负载均衡类型Service |
私网 |
与服务Pod同节点 |
无法访问 |
无法访问 |
无法访问 |
无法访问 |
|
与服务Pod同节点的其他容器 |
无法访问 |
无法访问 |
无法访问 |
无法访问 |