GCP暴露外部IP后连接超时:ML Pipeline部署K8s遇阻
问题描述
我正尝试在GCP的Kubernetes上部署ML Pipeline,但暴露外部IP后出现连接超时问题,使用curl命令也无法连通。已添加端口防火墙规则,检查日志后仍未解决该问题。
已参考相关部署教程,且将requirements.txt中的依赖更新至最新版本,问题依旧存在。
期望目标页面能够正常加载。


排查解决方案
校验Service配置
确保Service类型为LoadBalancer,且端口映射正确。执行以下命令查看Service详情:kubectl get svc -o wide kubectl describe svc <service-name>重点确认
External IP处于就绪状态,TargetPort与容器内应用监听的端口完全一致(比如Flask默认5000,FastAPI默认8000)。检查Pod运行状态
确认Pod无崩溃重启、应用正常启动:kubectl get pods kubectl logs <pod-name>关键排查点:应用是否绑定了
0.0.0.0(而非127.0.0.1,后者仅容器内部可访问),日志中是否有端口占用、依赖加载失败的报错。细化防火墙规则检查
除了开放端口,需确认:- 防火墙规则的目标标签与Kubernetes节点标签匹配
- 规则的
source ranges包含你的客户端IP(或临时设置为0.0.0.0/0测试,生产环境谨慎使用) - 规则应用到了集群所在的VPC网络
排查集群网络限制
- 若为私有集群,确认节点是否通过Cloud NAT配置了公网访问权限
- 检查是否存在NetworkPolicy阻塞了Pod的入站流量:
kubectl get networkpolicy
本地与跨网络测试
在GCP同VPC的虚拟机上curl外部IP,排除本地网络防火墙或路由问题;同时测试外部IP的DNS解析是否正常。
内容的提问来源于stack exchange,提问作者Shreyas Kale
相关产品推荐
相关产品推荐

