kubectl logs命令间歇性失败,并显示“ getsockopt:无主机路由”错误。
Error: A non-recoverable sign in failure occurred
at createErrorFromErrorData (NativeModules.js:146)
at NativeModules.js:95
at MessageQueue.__invokeCallback (MessageQueue.js:397)
at MessageQueue.js:127
at MessageQueue.__guard (MessageQueue.js:297)
at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)
at debuggerWorker.js:72
服务器错误:获取 https://X.X.X.X:10250/containerLogs/default/mypod-5c46d5c75d-2Cbtj/metaservichart?follow=true: 拨打tcp X.X.X.X:10250:getsockopt:主机没有路由
如果我运行同一命令5-6次,它将起作用。我不确定为什么会这样。任何帮助将不胜感激。
答案 0 :(得分:1)
仅供参考,我刚刚尝试将另一个VPC 172.18.X.X用于EKS,并且所有kubectl命令都可以正常工作。
我还注意到,当我使用172.17.X.X VPC时,kops使用172.18.X.X作为码头工人的内部cidr。因此,我推测kops会更改默认docker的cidr,以免与群集IP发生冲突。我希望我们可以在创建EKS辅助节点时配置docker的cidr,也许可以通过CloudFormation yaml模板或其他方式来配置。
答案 1 :(得分:0)
我的私有IP 172.17.X.X完全一样
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。我想知道私有ip以172.17.X.X开头是问题,因为它与Docker的默认内部cidr冲突,但是当我使用kops
时我没有这个问题。
答案 2 :(得分:0)
我有机会亲自与AWS EKS工程师交谈。官方的回答是,由于cidr与Docker的IP重叠,当前的EKS不支持172.17.0.0/16。似乎他们有内部票证可以解决此问题,但没有ETA。
答案 3 :(得分:0)
根据AMI,我收到错误消息“ getsockopt:没有通往主机的路由”。
我使用“ kubectl logs my-pod-id”来访问Pod的日志。
它可以(并且也不起作用),并且具有完全相同的路由,安全组,vpc等。只需更改AMI。
工作:ami-73a6e20b(当我于2018年10月首次设置集群时使用)
不起作用::ami-0e7ee8863c8536cce(并且是今天推荐用于us-west-2俄勒冈州的Amazon EKS优化的AMI-https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html)
我的意思是,可能不是您的路由/安全组设置。