1 Istio的工作机制
-
控制面
- Pilot
- Mixer
- Citadel
-
数据面
- Envoy
2 Istio的服务模型
2.1 服务
定义:K8S中的serivce只要满足Istio的约束即可转换为Istio的service并配置规则进行流量治理
约束1:端口命名,且必须是[-]的格式。
- protocol:可以是tcp、http、http2、https、grpc、tls、mongo、mysql、redis等
- 如果端口命名没有基于以上格式,则端口流量会被当做TCP流量处理
约束2:服务关联,pod需要关联到serivce,如果一个pod属于多个service,那么service不能再同一个端口上使用不同的协议。
- 在Istio0.8后,一个pod只能属于一个service
约束3:deployment必须显示包含app和version标签
- app标签用于分布式追踪时补齐上下文信息
- version标签用于遥测数据补齐上下文信息
2.2 服务版本
定义:将一个