Устранение неполадок запуска Envoy Proxy

Прокси Envoy, также известный как istio-proxy, когда используется как сайдкар в вашем рабочем поде, перехватывает весь входящий и исходящий трафик в вашем поде в рамках сервисной сетки.

Если под не запускается или поток данных не функционирует должным образом, используйте следующие инструменты и методы для устранения неполадок:

Содержание

PostStarHookError

Если вы столкнулись с ошибкой PostStarHookError, и сообщение об ошибке для пода указывает на что-то вроде:

Ошибка: истекло время ожидания, пока прокси Envoy не станет готовым.

Это означает, что прокси не может стать готовым в течение установленного времени (30s). Вот распространенные причины этой ошибки:

Недостаточные лимиты ЦП или памяти для сайдкара

Когда:

  • Хост-машина испытывает высокую нагрузку
  • Частота ЦП недостаточная
  • Слишком много сервисов в сервисной сетке
  • и т. д.

Тогда сайдкар не может обработать конфигурацию xDS от istiod в разумные сроки (30s).

Действие: Увеличьте лимиты ЦП и памяти для сайдкара.

Брандмауэр

Сервисная сетка требует от трафика сайдкара доступа к сервисам в пространстве имен istio-system.

Если вы находите сообщения в логах istio-proxy, указывающие на "невозможно подключиться к istiod", проверьте конфигурацию брандмауэра на вашей платформе и свяжитесь с администратором вашей платформы, чтобы разрешить рабочему трафику доступ к пространству имен istio-system:

Конкретная конфигурация зависит от CNI, используемого на вашей платформе:

  • (Generic) NetworkPolicy
  • (Calico) NetworkPolicy, GlobalNetworkPolicy в projectcalico.org/v3
  • (Cilium/KubeOVN) CiliumNetworkPolicy

Однако в редких случаях (например, HuaweiCloud CCE и Ubuntu 22.04) из-за ошибки, вызванной CCE VPC CNI, вы не можете использовать инициализирующий контейнер istio-init для перехвата сетевого трафика. В этом случае используйте Istio CNI для настройки перехвата.

Проблемные плагины WASM / EnvoyFilter

WASM и EnvoyFilters являются мощными, но потенциально разрушительными функциями в Istio.

Неправильно настроенные плагины WASM или EnvoyFilter могут вызывать непредсказуемое поведение в сервисной сетке. Поэтому, когда сайдкар Istio кажется зависшим во время запуска, сначала проверьте подозрительные EnvoyFilters.

Или, если установлено расширение WASM для рабочего процесса или глобально, удалите его, чтобы проверить, работает ли прокси Istio должным образом после этого.