已解决:无法从Minikube集群外部向Pod发送HTTP请求
已解决:通过minikube service命令修复Minikube NodePort访问超时问题
环境信息
Windows 11系统下使用WSL Ubuntu环境,WSL版本信息如下:
wsl --version WSL version: 2.3.26.0 Kernel version: 5.15.167.4-1 WSLg version: 1.0.65 MSRDC version: 1.2.5620 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.26100.1-240331-1435.ge-release Windows version: 10.0.26100.2894
操作步骤
- 创建Deployment:
kubectl create deployment k8s-go-rest-deployment --image=alptht/k8s-go-rest:multistage
- 暴露为NodePort Service:
kubectl expose deployment k8s-go-rest-deployment --port=8080 --type=NodePort
- 检查集群资源状态:
kubectl get deploy
输出:
NAME READY UP-TO-DATE AVAILABLE AGE k8s-go-rest-deployment 1/1 1 1 5m5s
kubectl get svc
输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE k8s-go-rest-deployment NodePort 10.96.131.39 <none> 8080:30387/TCP 22s
kubectl get pods
输出:
NAME READY STATUS RESTARTS AGE k8s-go-rest-deployment-6d5456b464-69m8w 1/1 Running 0 112s
minikube ip
输出:
192.168.49.2
问题现象
执行curl 192.168.49.2:30387时请求超时。
排查过程
通过minikube ssh进入Minikube节点内部,执行curl 10.96.131.39:8080,得到正常响应:
Hostname : k8s-go-rest-deployment-6d5456b464-69m8w
确认服务本身运行正常,问题出在外部访问的网络链路。
解决方法
执行minikube service k8s-go-rest命令建立隧道,成功解决访问超时问题,根源为隧道配置异常。
内容的提问来源于stack exchange,提问作者Alp Tahta
相关产品推荐
相关产品推荐

