Istio应用实践与eBPF技术展望
1. 异常检测与应用弹性管理
在异常检测中,我们定义了 baseEjectionTime
为5分钟,这是每次排除的最短持续时间。它会乘以电子邮件服务被判定为不健康的次数。例如,如果v1电子邮件服务被判定为异常5次,它将从连接池中被排除 baseEjectionTime * 5
的时间。
同时,我们定义了 consecutive5xxErrors
为1,即需要发生1次5xx错误才能将上游服务判定为异常。 interval
被定义为90秒,这是Istio扫描上游服务健康状态的检查间隔时间。 maxEjectionPercent
被定义为50%,即连接池中最多可排除50%的主机。
通过这些设置,我们为在线精品店应用修订并应用了各种控制措施来管理应用的弹性,Istio提供了多种控制手段,无需对应用进行特定修改或构建。
2. 配置Istio管理应用安全
2.1 强制mTLS流量
我们已经通过Istio Gateway创建了Ingress,通过Istio VirtualService创建了路由规则,以及通过DestinationRules处理了流量如何路由到最终目的地。接下来,我们要确保网格内的流量安全,以下策略强制网格内的所有流量都通过mTLS进行:
apiVersion: security.istio.io/v1beta1
kind: PeerAuthenti