六、服务访问入口
1、定义:一般都会有一个入口服务,从外部可以访问,接收外部的请求并转发到后端的服务,还可以在入口处定义统一的过滤器实现限流、权限校验的功能。
2、k8s服务的访问入口
1)方式一:将服务发布成loadbalancer类型的Service,通过一个外部端口就能访问到集群中的指定服务。
2)方式二:针对七层协议的ingress方式,ingress作为一个总的入口,根据七层协议中的路径将服务指向不同的后端服务。
3、istio服务访问入口
istio中通过gateway访问内部服务。该gateway和其他网格内的sidecar一样,也是一个envoy,从istio的控制面接收配置,统一执行配置的规则。
七、外部接入服务治理
实现一个完整的功能,需要依赖外部的服务,那外部服务istio如何管理呢?
k8s中,使用service catalog的扩展机制可以方便的在集群中管理云服务商提供的第三方服务,
如下图:
istio如何管理呢?
在istio中是通过一个serviceEntry的资源对象将网格外的服务注册到网格上,然后像对网格内的普通服务一样对网格外的服务访问进行治理的。
如下图:
在pilot中创建一个serviceEntry,配置后端数据库的访问信息,在istio的服务发现中就会维护该服务,并对该服务配置规则进行治理,从forecast向数据库发起的访问进过envoy时就会被拦截和治理。