在 Istio 中,Ingress Gateway 是作为一个 Envoy sidecar 容器运行的,因此它可以接收到 Service Mesh 内部的流量,并对其进行处理。同时,Ingress Gateway 也需要向外部网络暴露服务,并接收来自外部网络的请求。
为了实现这一点,Istio 将 Ingress Gateway 定义为一个 Kubernetes Service 对象。这个 Service 对象会将 Ingress Gateway 的 IP 地址和端口暴露给外部网络,从而使得外部网络可以通过该地址和端口访问到 Ingress Gateway。
换句话说,Ingress Gateway 既是一个 Envoy sidecar 容器(用于处理内部流量),也是一个 Kubernetes Service 对象(用于暴露服务并接收来自外部的流量)。这两者结合起来,就可以实现 Ingress Gateway 的功能。
需要注意的是,在配置 Ingress Gateway 的时候,需要保证其与 Service Mesh 中其他 Envoy sidecar 的配置相一致,以便于实现统一的流量控制和管理。同时还要考虑到安全性、可靠性等问题,确保 Ingress Gateway 能够正常工作并满足业务需求。


 
                             
         
        
 
         
         
         
         
         
         
         
        
 
                 
                 
                 
                 
                 
                 
                 
                