【问题标题】:could not invoke kubernetes service by internal endpont无法通过内部端点调用 Kubernetes 服务
【发布时间】:2020-08-08 16:03:43
【问题描述】:

我想在我的 kuberetes 集群中调用服务,所以我尝试像这样调用 servcie(deplyment 的后端 pod 部署):

curl http://soa-illidan-hub-service.dabai-fat.svc.cluster.local:11024

它告诉我curl: (7) Failed to connect to soa-illidan-hub-service.dabai-fat.svc.cluster.local port 11024: Host is unreachable,我正在ping:

/ # ping soa-illidan-hub-service.dabai-fat.svc.cluster.local
PING soa-illidan-hub-service.dabai-fat.svc.cluster.local (10.254.42.62): 56 data bytes
64 bytes from 10.254.42.62: seq=0 ttl=64 time=0.051 ms
64 bytes from 10.254.42.62: seq=1 ttl=64 time=0.063 ms
64 bytes from 10.254.42.62: seq=2 ttl=64 time=0.057 ms

为什么 curl 告诉我主机无法访问?和。我可以使用端点 ip 来调用 servcie,我应该使用 ip 吗?使用 servcie ip 是个好习惯吗?

【问题讨论】:

  • curl 和 ping 命令是否都在 Pod 内执行(使用 kubectl exec 命令)?
  • 是的。在同一个吊舱内。@Lukman

标签: kubernetes


【解决方案1】:

试试

wget -qO- http://soa-illidan-hub-service.dabai-fat.svc.cluster.local

或者直接尝试pod ip

wget -qO- POD_IP:PORT

【讨论】:

  • 使用服务名最好,服务ip可以改变。你的命令也很有帮助。@Dashrath Mundkar
  • @Dolphin 是的,我知道。但出于调试目的,最好使用 IP 访问端点。
【解决方案2】:

我终于找到原因了,pod 的运行节点 kube-proxy 停止了。尝试启动 kube-proxy 会解决这个问题,在我的 centos 7.6 中启动是这样的:

systemctl start kube-proxy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 2017-04-22
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多