Kubernetes API-Server正在抛出ECONNREFUSED

时间:2018-04-25 12:13:03

标签: kubernetes kops

我正在使用此k8s javascript client library。 每投掷第4或第5个请求ECONNREFUSED。我正在AWS中运行k8。

{ Error: connect ECONNREFUSED <master-node-external-ip>:443
    at Object._errnoException (util.js:1041:11)
    at _exceptionWithHostPort (util.js:1064:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1153:14)
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: <master-node-external-ip>,
  port: 443 }

const k8s = require('@kubernetes/client-node');
const k8sApi = k8s.Config.defaultClient();
const pods = k8sApi.listNamespacedPod('default');

版本

kube master node
kernelVersion: 4.4.78-k8s
kubeProxyVersion: v1.7.2
kubeletVersion: v1.7.2

我注意到在AWS中我的主节点正在抛出

"RouteLimitExceeded: The maximum number of routes has been reached.

这可能是ECONNREFUSED的问题吗?

1 个答案:

答案 0 :(得分:0)

  

"RouteLimitExceeded: The maximum number of routes has been reached.

此错误表示您在VPC中的AWS路由表中包含的路由太多。

以下是官方documentation的限制:

  
      
  • 每个路由表的路由(非传播路由) - 50 您可以将此限制增加到最多100;但是,网络性能可能会受到影响

  •   
  • 每个路由表(传播路由)的BGP通告路由 - 100 此限制无法增加。

  •   

每个路由表设置限制。

  

这可能是ECONNREFUSED的问题吗?

是的,此错误可能是问题的原因。如果表中的路由太多,则可能会遗漏某些路由,并且可能无法连接Kubernetes API。