You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes集群POD访问Windows宿主机4000端口异常及入站流量配置求助

Windows Docker Desktop部署K8s集群网络互通配置方案

报错根因说明

你遇到的两类报错对应原因如下:

  • Connection refused:一般是宿主机4000端口没有监听在可被K8s网段访问的地址,或者Windows防火墙拦截了请求
  • Connection reset by peer:一般是TCP连接已经建立,但业务进程没有正确处理跨网段请求,或者防火墙做了主动断连配置

POD访问宿主机4000端口修复步骤

  • 调整宿主机业务进程监听地址
    确认你的4000端口业务进程的监听配置,如果仅监听127.0.0.1:4000,仅宿主机本地可访问,需要修改配置为监听0.0.0.0:4000,允许所有网段的请求接入。
  • 配置Windows防火墙放行规则
    1. 按Win+S搜索「高级安全 Windows Defender 防火墙」,选择「入站规则」->「新建规则」
    2. 规则类型选「端口」,下一步选择「TCP」,特定本地端口填写4000
    3. 下一步选「允许连接」,根据你的网络环境勾选域、专用、公网(测试阶段建议全选)
    4. 给规则命名后保存即可,临时测试也可以直接执行管理员权限PowerShell命令:
      New-NetFirewallRule -DisplayName "Allow 4000 Inbound" -Direction Inbound -LocalPort 4000 -Protocol TCP -Action Allow
  • 使用正确的宿主机访问地址
    Docker Desktop为K8s集群预留了固定的宿主机访问域名host.docker.internal,不需要手动查询宿主机IP,POD内直接执行curl http://host.docker.internal:4000即可,避免宿主机IP变动导致访问失败。
  • 排查K8s网络策略限制
    如果你的集群配置了NetworkPolicy,需要确认对应命名空间下的POD有访问外部网段的出站权限,添加允许访问宿主机网段的出站规则即可。

宿主机访问POD入站流量配置

如果你需要从Windows宿主机访问POD内的服务,按以下配置:

  • 优先使用K8s Service暴露服务
    为你的工作负载创建ClusterIP类型Service,宿主机可以直接通过ClusterIP:服务端口访问,Docker Desktop默认已经打通了宿主机到ClusterIP网段的路由;如果需要固定端口访问,可以创建NodePort类型Service,直接通过localhost:NodePort或者宿主机IP:NodePort访问即可。
  • 直接访问POD IP的场景
    Docker Desktop默认会自动配置Windows路由表到K8s POD网段的路由,如果无法访问可以重启Docker Desktop恢复配置,无需手动调整路由。

内容的提问来源于stack exchange,提问作者Bhupendra Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:36:04