Istio 服务访问规则维护和工作机制

1、配置:管理员通过Pilot配置治理规则
2、下发:Envoy从Pilot获取治理规则
3、执行:在流量访问的时候执行治理规则

Pilot下发规则到envoy,由envoy执行规则

Istio治理规则

  • VirtualService
  • DestinationRule
  • Gateway
  • ServiceEntry

VirtualService

VirtualService 配置服务访问路由控制。满足特定条件的请求流到哪儿里,过程中治理。包括请求重写、重试、故障注入、重定向、流量镜像等。

DestinationRule

DestinationRule 目标服务的策略,包括目标服务的负载均衡,连接池管理、异常处理、tls等。

outlierDetection : 当访问一个后端服务出现问题的时候可以通过这个选项对后端服务进行隔离,隔离一段时间。
portLevelSettings: 根据port级别所定义的策略

ServiceEntry & Gateway

ServiceEntry:

  • 功能:Mesh外的服务加入到服务发现中,向Mesh里面的服务一样的被治理
  • 机制:将ServiceEntry描述的服务加入到服务发现中;对这些服务的outbound流量进行拦截,进而进行治理

Gateway:

  • 功能:将Mesh内的一个服务发布成可供外部访问的服务。
  • 机制:将入口处部署一个ingress的Envoy,在其上执行服务治理。

Istio治理能力执行位置

kubernetes & Istio 结合

spring Cloud + k8s 带来的问题

当spring cloud服务跑在k8s上的时候,应用使用eureka做注册中心,当pod死掉后,重启成为新的pod ip会变,这时候有可能eureka的注册地址还没有加进去或者原地址还没有消除。

文档更新时间: 2022-02-27 19:36   作者:张尚