Istio 流量管理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/istio-traffic-management。
技能介绍
要解决什么问题
在 Kubernetes 上跑微服务时,路由、灰度、容错往往散落在各服务的客户端库或运维脚本里,改一次发布策略就要动多处配置,还很难在集群边缘统一管控南北向流量。Istio 用 VirtualService、DestinationRule、Gateway 等 CRD 把流量策略声明化,但资源之间的关系、子集与权重、熔断与重试的默认值并不直观,生产上一旦配错容易出现全量切流、重试风暴或镜像误打到线上。
技能如何帮你落地
本技能按生产服务网格场景组织内容:先明确目标、约束和输入,再给出可执行步骤与验证方式;需要完整 YAML 时可对照 resources/implementation-playbook.md。
- 路由与版本:用
VirtualService做主机级路由,用DestinationRule的 subset 区分版本,支撑基本分流与金丝雀/蓝绿。 - resilience:模板覆盖熔断、超时、带退避的重试,以及混沌/测试用的故障注入。
- 观测与调试:强调用 Kiali、Jaeger 看链路,并列出常用调试命令与官方 Reference 资源。
- 边缘与外部:
Gateway处理入站/出站,ServiceEntry把集群外服务纳入网格策略范围;另含负载均衡策略与流量镜像(宜指向测试环境)。
适用边界
任务与 Istio 流量管理无关、或需要网格外其他领域工具时,不要使用本技能。最佳实践里明确:不要过度重试、不要向生产环境做流量镜像、金丝雀应从小比例流量开始;复杂度建议从简单路由逐步加 policy。
使用场景
- 新版本 API 已部署到集群,需要用 VirtualService 与 DestinationRule 子集做 5% 金丝雀再逐步放量
- 生产高峰前要为核心下游依赖配置熔断、超时和有限次重试,避免级联故障
- 要在不影响线上用户的前提下,把部分真实请求镜像到预发环境做回归对比
- 入站流量需经 Gateway 统一暴露,并对外部依赖通过 ServiceEntry 纳入网格路由策略
适合人员
- 负责生产 K8s 集群上 Istio 控制面与 CRD 变更的平台工程师,需要可审查的路由与策略模板
- 每次发版要在网格内做金丝雀或蓝绿切流的发布工程师,关心权重、子集与回滚验证步骤
- 维护微服务 SLO 的 SRE,需要把熔断、重试、超时写成 DestinationRule 并配合 Kiali/Jaeger 排查
- 网格边缘与南北向流量由运维统一收口时,负责 Gateway 与外部 ServiceEntry 的集群管理员