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 недоступными.