用途:这是一个面向生产服务网格部署的 Istio 流量管理综合指南型技能,帮助梳理目标、约束与所需输入,应用相关最佳实践并验证结果,给出可执行步骤与验证方法。
适用范围:配置服务间路由;实现金丝雀或蓝绿部署;设置熔断器与重试;配置负载均衡;用于测试的流量镜像;用于混沌工程的故障注入。不适用于与 Istio 流量管理无关的任务,或超出该范围的其它领域与工具。
核心概念:流量管理资源包括 VirtualService(按主机路由流量)、DestinationRule(定义路由后的策略,按服务生效)、Gateway(配置入站/出站,作用于集群边缘)、ServiceEntry(添加外部服务,网格范围)。流量路径为:Client → Gateway → VirtualService(路由)→ DestinationRule(策略)→ Service(Pod)。
主要能力与模板:包含基础路由、金丝雀发布(按权重分配,如 90/10)、熔断(connectionPool 与 outlierDetection)、重试与超时、流量镜像(mirror 与 mirrorPercentage)、故障注入(delay/abort)、入口网关(Gateway 配合 VirtualService 按 URI 前缀路由)。负载均衡支持 ROUND_ROBIN、LEAST_CONN、RANDOM、PASSTHROUGH,以及基于 httpHeaderName 等的一致性哈希会话保持。
最佳实践:从简单开始、渐进增加复杂度;使用 subsets 明确服务版本;始终配置合理超时;启用带退避与限制的重试;用 Kiali 和 Jaeger 做可观测。避免过度重试导致级联故障;不要忽略异常点检测;不要把镜像流量打到生产环境;不要跳过金丝雀,先以小比例流量测试。
调试命令:istioctl analyze;istioctl proxy-config routes deploy/my-app -o json;istioctl proxy-config endpoints deploy/my-app;istioctl proxy-config log deploy/my-app --level debug。
限制:仅在任务与上述范围明确匹配时使用;输出不能替代针对具体环境的验证、测试或专家评审;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。