API-сервер Kubernetes выбрасывает ECONNREFUSED

Я использую эту клиентскую библиотеку k8s javascript. За каждый 4-й или 5-й запрос его бросок ECONNREFUSED, Я использую k8s в AWS.

{ 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 ответ

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

Эта ошибка означает, что у вас слишком много маршрутов в таблице маршрутов AWS в VPC.

Вот ограничения из официальной документации:

  • Маршрутов по таблице маршрутов (непроходные маршруты) - 50. Вы можете увеличить этот предел максимум до 100; однако на производительность сети может повлиять

  • BGP объявляет маршруты по таблице маршрутов (распространенные маршруты) - 100. Этот предел не может быть увеличен.

Пределы установлены для каждой таблицы маршрутизации.

Может ли это быть проблемой для ECONNREFUSED?

Да, эта ошибка может быть причиной проблемы. Если в таблице слишком много маршрутов, некоторые маршруты могут быть пропущены в ней, и это может сделать подключения к API Kubernetes недоступными.

Другие вопросы по тегам