Устранение неполадок при запуске Envoy Proxy
Прокси Envoy, также известный как istio-proxy при использовании в качестве sidecar в вашем workload-поде, перехватывает весь входящий и исходящий трафик в вашем поде внутри сервисной сетки.
Если под не запускается или трафик работает некорректно, используйте следующие инструменты и методы для устранения неполадок:
Содержание
PostStarHookError
Если вы столкнулись с ошибкой PostStarHookError и сообщение об ошибке для пода содержит что-то вроде:
Это означает, что прокси не может стать готовым в течение заданного времени (30s). Вот распространённые причины этой ошибки:
Недостаточные лимиты CPU или памяти для sidecar
Когда:
- На хост-машине высокая нагрузка
- Частота CPU недостаточна
- В сервисной сетке слишком много сервисов
- и т.д.
Тогда sidecar не может обработать конфигурацию xDS от istiod в разумные сроки (30 секунд).
Действие: Увеличьте лимиты CPU и памяти для sidecar.
Брандмауэр
Сервисная сетка требует, чтобы трафик sidecar имел доступ к сервисам в пространстве имён istio-system.
Если в логах istio-proxy вы видите сообщения с указанием "cannot connect to istiod", проверьте конфигурацию брандмауэра на вашей платформе и обратитесь к администратору платформы с просьбой разрешить трафик workload в пространство имён 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 корректно после этого.