Alauda Service Mesh v2.2 已知问题
本节记录影响 Alauda Service Mesh 的已知问题和限制。
Kiali 为启用 waypoint 的工作负载报告过时的 KIA1313 验证结果
在 ambient 模式下,waypoint 部署并运行后,工作负载详情页面可能仍会报告验证结果 KIA1313 - This workload has annotated waypoint but it does not exist or is misconfigured。对于同一个工作负载,工作负载列表页面不会报告该警告,因此两个视图的结果不一致。
当 Kiali 服务器在 waypoint 存在之前启动时,会发生此问题。例如,安装 Kiali、部署应用,然后将其纳入 ambient 模式。Kiali 会将 waypoint 查询结果缓存四分钟,因此验证是在缓存仍为空时计算的。其变更检测会跟踪命名空间和工作负载标签,但不会跟踪 waypoint 查询的结果,因此存储的验证结果永远不会重新计算,详情页面会持续提供过时的结果。
解决方法:重启 Kiali 服务器,以重建缓存和已存储的验证结果:
更改任何受跟踪的值(例如向命名空间或工作负载添加标签)也会触发完整的重新验证。
在忽略该警告之前,请确认 waypoint 运行正常,因为当 waypoint 确实缺失或配置错误时,也会引发相同的验证结果。
Ambient 模式在 kube-ovn 底层网络上无法工作
Ambient 模式仅支持 kube-ovn 覆盖网络。在 kube-ovn 底层网络上,节点和 Pod 位于不同的子网中,针对已纳入管理的 Pod 执行的每个 kubelet HTTP 或 TCP 探测都会超时。持续运行存活性或就绪性探测的 Pod 随后会被终止并进入 CrashLoopBackOff,而没有探测的 Pod 不受影响。
istio-cni 节点智能体会将 kubelet 探测的源地址 SNAT 为一个特意设置为不可路由的地址(IPv4 为 169.254.7.127,IPv6 为 fd16:9254:7127:1337:ffff:ffff:ffff:ffff),以便 Pod 能够将这些探测与其他主机流量区分开来。这假定探测不会离开节点,而覆盖网络满足这一条件。在底层网络上,探测会经由物理网关进行路由,而物理网关没有返回 SNAT 地址的路由,因此 Pod 的响应会被丢弃。IPv4 和 IPv6 的行为相同,且不依赖 CPU 架构。
解决方法:在 kube-ovn 底层网络上使用 sidecar 模式。sidecar 模式会重写 Pod 规范中的探测,不依赖主机 SNAT,因此不受此问题影响。