Envoy 代理,在您的工作负载容器组中作为侧车使用时也称为 istio-proxy
,会拦截您容器组内服务网格中的所有入站和出站流量。
当容器组无法启动或流量无法按预期工作时,请使用以下工具和技术进行故障排除:
如果您遇到 PostStarHookError
错误,并且容器组的错误信息表明类似以下内容:
这意味着代理在指定的时间内(30s
)无法变为就绪状态。此错误的常见原因包括:
侧车的 CPU 或内存限制不足
当:
则侧车无法在合理的时间(30s)内处理来自 istiod
的 xDS 配置。
解决方案: 增加侧车的 CPU 和内存限制。
防火墙
服务网格要求侧车流量访问 istio-system
命名空间中的服务。
如果您在 istio-proxy
日志中发现“无法连接到 istiod”的消息,请检查您平台上的防火墙配置,并联系平台管理员以允许工作负载流量访问 istio-system
命名空间:
具体配置取决于您平台上使用的 CNI:
NetworkPolicy
NetworkPolicy
,GlobalNetworkPolicy
在 projectcalico.org/v3
中CiliumNetworkPolicy
但是在少数情况下(例如,华为云 CCE 和 Ubuntu 22.04),由于 CCE VPC CNI 引起的错误,您无法使用 istio-init
initContainer 来拦截网络流量。在这种情况下,请使用 Istio CNI 配置拦截。
WASM 和 EnvoyFilters 是 Istio 中强大但潜在破坏性的功能。
配置不正确的 WASM 或 EnvoyFilter 插件可能会导致服务网格中的不可预测行为。 因此,当 Istio 侧车在启动时似乎停滞不前时,请首先检查可疑的 EnvoyFilters。
或者,如果为特定工作负载或全局安装了 WASM 插件,请将其卸载,以验证之后 Istio 代理是否正常工作。