用Gateway管理进入网格的流量
程序员文章站
2022-06-17 13:07:00
...
网关
可以把他认为是一个运行在网格边缘的负载均衡器,接收外部请求,转发给网格内的服务,另外,我们还会通过网关来配置对外的端口,协议与内部服务的映射关系
istio中的两种网关
Ingress网关,控制进入流量
Egress网关,控制出口流量
配置项
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
selector:
istio: ingressgateway
servers: //定义入口点,包括port,hosts,tls,defaultEndpoint
- port: //端口,协议,以及名称
number: 80
name: http
protocol: HTTP
hosts:
- "*"
任务
说明:创建一个入口网关,将进入网格的流量分到不同地址
目标:学会用gateway控制入口流量,掌握gateway的配置方法
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: test-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: test-gateway
spec:
hosts:
- "*"
gateways:
- test-gateway #注意与网关对应
http:
#有两个可以被暴露出来的url
#虚拟服务会把匹配到这两个url的请求,打到具体的detail服务中
- match:
- uri:
prefix: /details
- uri:
exact: /health
route:
- destination:
host: details
port:
number: 9080
访问
http://192.168.26.31:31245/details/0
http://192.168.26.31:31245/health
应用场景
- 暴露网格内服务给外界
- 配置访问安全相关的设置(HTTPS,mTLS等)
- 作为应用的统一入口或者api聚合
上一篇: istio使用【dashboard—Naftis】
下一篇: 2-配置动态路由之虚拟服务与目标规则
推荐阅读