0

我正在使用这个k8s javascript 客户端库。对于每 4 次或 5 次请求,它的投掷ECONNREFUSED。我在 AWS 中运行 k8s。

{ 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 的问题吗?

4

1 回答 1

0

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

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

以下是官方文档的限制:

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

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

每个路由表都设置了限制。

这可能是 ECONNREFUSED 的问题吗?

是的,这个错误可能是问题的原因。当表中的路由过多时,可能会遗漏其中的某些路由,并且可能导致与 Kubernetes API 的连接不可用。

于 2018-04-26T14:08:28.950 回答