【问题标题】:Kubernetes service load balancer "No route to host" errorKubernetes 服务负载均衡器“没有到主机的路由”错误
【发布时间】:2018-12-10 19:16:01
【问题描述】:

我正在尝试使用负载平衡器服务公开一个 pod。服务已成功创建并分配了外部 IP。当我尝试在浏览器中访问外部站点时,该站点不存在,并且我得到了 ERR_CONNECTION_TIMED_OUT。请看下面的yaml:

apiVersion: v1
kind: Service
metadata:
  labels:
    name: service-api
  name: service-api
spec:
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 30868
    port: 80
    protocol: TCP
    targetPort: 9080
    name: http
  selector:
    name: service-api
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}

我也尝试使用 kubernetes CLI 创建服务,但仍然没有成功。

【问题讨论】:

  • 您能否验证端点已创建:kubectl get endpoints?他们应该匹配 pod ips
  • 是的,端点已创建。
  • 你能在内部验证它的工作原理吗?没有负载均衡器?
  • 我也使用 wget 尝试过,但失败了,然后我收到 No route to host 消息。
  • 呃,dns 在你的集群中工作吗?另外,如果你直接访问 pod 怎么办?有用吗?

标签: azure kubernetes azure-aks


【解决方案1】:

我的 k8s 集群上的 DNS 似乎有问题。为了解决这个问题,我必须重新启动集群。但是在重启集群之前,你也可以删除 kube-system 中的所有 pod 来刷新 DNS pod,如果还是不行我建议重启集群。

【讨论】:

  • 没有“重启集群”之类的东西——你不会重启整个 Kubernetes 集群。如果解决方案是重新启动某些东西,您可以编辑您的答案以更具体吗?
猜你喜欢
  • 2022-10-23
  • 2019-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 2021-03-17
  • 2014-04-13
  • 1970-01-01
相关资源
最近更新 更多