缺省状态下,Istio服务网格内的Pod,由于其iptables将所有外发流量都透明的转发给了sidecar,所以这些集群内的服务无法访问集群之外的 URL,而只能处理集群内部的目标。
控制出口流量描述了如何通过ServiceEntry将外部服务暴露给集群内的客户端
本文则通过一个官方的用例解释如何通过Egress Gateway
配置Istio的出口流量,这个例子主要适用于两种场景:
- 离开服务网格的所有流量必须流经一组专用节点,这一组节点会有特殊的监控和审查
- 集群中不是所有节点都有public IP,定义egress网关,通过它引导所有出口流量并将public IP分配给egress网关节点,允许应用节点以受控方式访问外部服务
环境准备
创建Kubernetes集群
阿里云容器服务Kubernetes 1.11.2目前已经上线,可以通过容器服务管理控制台非常方便地快速创建 Kubernetes 集群。具体过程可以参考这里
部署istio
阿里云容器服务在应用目录
目前支持istio快速部署,具体过程可以参考这里