Как исправить ошибку NetworkUnavailable:True в узле Kubernetes

Узел:

Status NetworkUnavailable: True

Сообщение об ошибке:

RouteController не удалось создать маршрут

Попробуйте удалить узел и создать новый узел. После создания нового узла статус вернулся в норму.

Как устранить или проверить проблему

2 ответа

Чтобы получить дополнительную информацию о вашей проблеме, вы можете получить журналы из StackDriver-> Logging -> Loggs viewer, пользователь "Расширенный фильтр" и выполнить поиск по "Status NetworkUnavailable: True Message error" или "RouteController не удалось создать маршрут. "

Обычно это происходит, когда компонент K8s решает, что ваша сеть недоступна. Например,

  • в ситце есть код, который переключает это «истина» или «ложь»
  • в antrea, другом провайдере CNI, может произойти то же самое

ОБЫЧНО это означает, что ваш провайдер CNI «не готов».

Так почему же поставщик CNI может не установить NetworkUnavailable: false?

  • На вашем узле, на котором работает CNI, отсутствует какая-либо сетевая технология, от которой зависит CNI (например, возможно, OVS (antreA) или BGP (calico) не работает в вашей версии Linux, или вы не установили эти драйверы на свой компьютер с Windows).
  • Возможно, ваш поставщик CNI не может получить доступ к API-серверу Kubernetes для обновления метаданных условий узла. Это может быть ошибка, связанная с RBAC (вы увидите это в журналах поставщиков CNI)... https://github.com/projectcalico/calico/issues/7996 .

В любом случае вы можете попытаться запустить модуль вручную и проверить, работает ли «CNI, но на узле просто ложное состояние». В этом случае либо:

  • контейнер не сможет «создать», потому что контейнеру не удалось получить IP-адрес от CNI или
  • контейнер будет успешным, и в этом случае у вас есть ошибка метаданных в вашем кластере, то есть какой-то компонент неточно обновляет состояние узла.

В самом Kubernetes предстоит проделать работу по улучшению документации по этому «состоянию узла» и упрощению ее интерпретации в будущем (https://kubernetes.io/docs/concepts/architecture/nodes/#condition).

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