3

kubectl logs 命令间歇性地失败,并出现“getsockopt: no route to host”错误。

# kubectl logs -f mypod-5c46d5c75d-2Cbtj

来自服务器的错误:获取 https://XXXX:10250/containerLogs/default/mypod-5c46d5c75d-2Cbtj/metaservichart?follow=true:拨打 tcp XXXX:10250:getsockopt:没有到主机的路由

如果我运行相同的命令 5-6 次,它就可以工作。我不确定为什么会这样。任何帮助将不胜感激。

4

4 回答 4

2

仅供参考,我刚刚尝试在 EKS 上使用另一个 VPC 172.18.XX,所有 kubectl 命令都可以正常工作。

我还注意到,当我使用 172.17.XX VPC 时,kops 使用 172.18.XX 作为 docker 的内部 cidr。所以我推测 kops 会更改默认 docker 的 cidr 以不与集群 IP 冲突。我希望我们可以在创建 EKS 工作节点时配置 docker 的 cidr,可能是通过 CloudFormation yaml 模板或其他方式。

于 2018-11-12T18:23:28.240 回答
1

我有机会亲自与 AWS EKS 工程师交谈。官方的回答是,由于 cidr 与 Docker 的 IP 重叠,当前的 EKS 不支持 172.17.0.0/16。似乎他们有解决问题的内部票,但没有 ETA。

于 2018-12-06T21:15:04.603 回答
0

我对私有 ip 172.17.XX 有完全相同的问题

Error from server: Get https://172.17.X.X:10250/containerLogs/******: dial tcp 
172.17.X.X:10250: getsockopt: no route to host

我正在使用 EKS 优化的 AMI v24。

类似的问题在这里讨论。https://github.com/aws/amazon-vpc-cni-k8s/issues/137。我想知道以 172.17.XX 开头的私有 ip 是问题,因为它与 Docker 的默认内部 cidr 冲突,但我在使用kops.

于 2018-11-06T22:21:56.010 回答
0

根据 AMI,我收到错误“getsockopt: no route to host”。

我使用“kubectl logs my-pod-id”来访问 pod 的日志。

  • 我在 AWS 中运行 EKS V1.10(是的,我需要尽快升级到 V1.11)。
  • 我为我的 vpc 和子网使用 IP 范围 10.0.0.0。我有 2 个公共子网和 2 个私有子网。

它工作(也不起作用),具有完全相同的路由、安全组、vpc 等。只是 AMI 更改。

作品: ami-73a6e20b(在 2018 年 10 月我第一次设置集群时使用)

不起作用: ami-0e7ee8863c8536cce(并且是从今天开始为 us-west-2 Oregon 推荐的 Amazon EKS 优化 AMI - https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized- ami.html )

我的意思是,它可能不是您的路由/安全组设置。

于 2019-02-26T01:35:09.497 回答