执行kubectl port-forward时出现端口转发连接拒绝错误求助
kubectl port-forward连接被拒绝问题排查方案
1. 确认Pod内应用是否监听目标端口
- 进入报错中指定的Pod:
kubectl exec -it b2890d623a5c02aed2b49fca3d187d53ee768d897ab37d21d4dca19811f61ef6 -- sh - 在Pod内检查80端口的监听状态:
ss -tulpn | grep :80 # 若ss命令不存在,用netstat替代 netstat -tulpn | grep :80 - 如果无输出,说明应用未在80端口监听,需检查应用配置或启动状态。
2. 验证Pod内本地访问可用性
- 在Pod内直接访问本地80端口:
curl 127.0.0.1:80 - 若返回连接拒绝,执行以下操作:
- 查看Pod内进程列表,确认应用进程是否运行:
ps aux - 查看应用日志排查启动问题:
kubectl logs b2890d623a5c02aed2b49fca3d187d53ee768d897ab37d21d4dca19811f61ef6
- 查看Pod内进程列表,确认应用进程是否运行:
3. 检查Deployment的容器端口配置
- 查看Deployment的完整配置:
kubectl get deployment sample-deployment -o yaml - 确认
spec.template.spec.containers[].ports.containerPort字段值是否为80,确保与转发命令中的目标端口一致。
4. 排查本地端口冲突(可选)
- 检查本地3500端口是否被其他进程占用:
lsof -i :3500 # 或用netstat netstat -tulpn | grep :3500 - 若端口被占用,更换本地端口重新执行转发:
kubectl port-forward deployment/sample-deployment 3600:80
内容的提问来源于stack exchange,提问作者Milan
相关产品推荐
相关产品推荐

