如何设置路由?wget:无法连接到远程主机(10.102.29.45):没有到主机的路由

如何设置路由?wget:无法连接到远程主机(10.102.29.45):没有到主机的路由

kubectl run -i -t load-generator --image=busybox /bin/sh

从我的壳里,我正在尝试

/ # wget http://wordpress.default.svc.cluster.local
Connecting to wordpress.default.svc.cluster.local (10.102.29.45:80)
wget: can't connect to remote host (10.102.29.45): No route to host

这些是我的本地 kubernetes 服务

NAME                TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE     SELECTOR
hello-node          LoadBalancer   10.104.141.138   <pending>     8080:31321/TCP   3d21h   app=hello-node
kubernetes          ClusterIP      10.96.0.1        <none>        443/TCP          4d      <none>
tomcat-deployment   LoadBalancer   10.107.218.19    <pending>     8080:32688/TCP   3d16h   app=tomcat
wordpress           NodePort       10.102.29.45     <none>        80:31262/TCP     2d      app=wordpress,tier=frontend
wordpress-mysql     ClusterIP      None             <none>        3306/TCP         2d      app=wordpress,tier=mysql

wget 也适用于谷歌

wget google.com
Connecting to google.com (216.58.214.206:80)
Connecting to www.google.com (216.58.209.164:80)

如何连接到我的节点?

答案1

尝试:

curl -v $(kubectl get ep | grep kubernetes|awk '{print $2}'|cut -d ":" -f1):31262

它应该返回类似这样的内容:

Rebuilt URL to: 192.168.99.100:32144/
*   Trying 192.168.99.100...
* Connected to 192.168.99.100 (192.168.99.100) port 32144 (#0)

如果不起作用,请使用以下方法检查端点kubectl get ep -o wide

答案2

对于同一命名空间内的服务,以下命令将正常运行:

wget name.default.svc.cluster.local:8081

或者,使用服务 IP:

wget 172.20.214.71:8081

请注意,如果 Pod 无法正常工作,您将收到相同的错误,因为服务会将您连接到无法正常工作的 Pod。因此,也请检查您的 Pod 健康状况。

相关内容