Устранение неполадок при запуске Envoy Proxy
Прокси Envoy, также известный как istio-proxy при использовании в качестве sidecar в вашем workload-поде, перехватывает весь входящий и исходящий трафик в вашем поде внутри сервисной сетки.
Если под не запускается или трафик работает некорректно, используйте следующие инструменты и методы для устранения неполадок:
Содержание
PostStarHookError
Если вы столкнулись с ошибкой PostStarHookError, и сообщение об ошибке для пода содержит что-то вроде:
Это означает, что прокси не может стать готовым в течение заданного времени (30s). Вот распространённые причины этой ошибки:
Недостаточные лимиты CPU или памяти для sidecar
Когда:
- На хост-машине высокая нагрузка
- Частота CPU недостаточна
- В сервисной сетке слишком много сервисов
- и т.д.
Тогда sidecar не может обработать конфигурацию xDS от istiod за разумное время (30 секунд).
Действие: Увеличьте лимиты CPU и памяти для sidecar.
Брандмауэр
Сервисная сетка требует, чтобы трафик sidecar имел доступ к сервисам в namespace istio-system.
Если в логах istio-proxy вы видите сообщения с указанием "cannot connect to istiod", проверьте конфигурацию брандмауэра на вашей платформе и обратитесь к администратору платформы для разрешения трафика workload в namespace istio-system:
Конкретная конфигурация зависит от CNI, используемого на вашей платформе:
- (Общее)
NetworkPolicy - (Calico)
NetworkPolicy,GlobalNetworkPolicyвprojectcalico.org/v3 - (Cilium/KubeOVN)
CiliumNetworkPolicy
Однако в редких случаях (например, HuaweiCloud CCE & Ubuntu 22.04) из-за бага, вызванного CCE VPC CNI, нельзя использовать initContainer istio-init для перехвата сетевого трафика. В этом случае используйте Istio CNI для настройки перехвата.
Проблемные WASM / EnvoyFilter плагины
WASM и EnvoyFilters — это мощные, но потенциально нарушающие работу функции в Istio.
Неправильно настроенные WASM или EnvoyFilter плагины могут вызывать непредсказуемое поведение в сервисной сетке. Поэтому, если sidecar Istio кажется зависшим при запуске, сначала проверьте подозрительные EnvoyFilters.
Или, если для workload или глобально установлен WASM плагин, удалите его, чтобы проверить, работает ли после этого прокси Istio корректно.