应用服务网格 ASM-Istio CNI与Init容器兼容性问题:问题背景
问题背景
Istio CNI 插件可能会导致使用了 initContainer 的应用出现网络连通性问题。 使用 Istio CNI 时,kubelet 会通过以下步骤启动一个注入的 Pod:
- Istio CNI 插件在 Pod 内设置流量重定向到 Istio Sidecar。
- 等待所有的 Init 容器成功执行完毕。
- Istio Sidecar 跟随 Pod 的其它容器一起启动。
由于 initContainer 在 Sidecar 启动之前执行,initContainer 发出的请求会被重定向到尚未启动的 Sidecar 上,这会导致 initContainer 执行期间出现流量丢失。