网关规则¶
网关规则(Gateway)用于将服务暴露于网格之外,相较于 Kubernetes 的 ingress 对象,istio-gateway 增加了更多的功能:
- L4-L6 负载均衡
- 对外 mTLS
- SNI 的支持
- 其他 Istio 中已经实现的内部网络功能:Fault Injection、Traffic Shifting、Circuit Breaking、Mirroring
概念介绍¶
对于 L7 的支持,网关规则通过与虚拟服务配合实现。几个重要主字段如下:
- 
Selector 选择用于南北流量的istio网关,可以使用多个,也可以与其他规则共用一个。 
- 
Servers 对外暴露服务的相关信息,包括hosts(服务名称)、监听端口、协议类型等。 
- 
TLS 提供对外的mTLS协议配置,用户可以启用三种TLS模式,并可以自定义CA证书等操作。 
示例:
spec: 
  selector: 
    istio: ingressgateway
  servers: 
  - port: 
      number: 80 
      name: http 
      protocol: HTTP 
    hosts: 
    - istio-grafana.frognew.com
操作步骤¶
服务网格提供了两种创建方式:向导和 YAML。通过向导创建的具体操作步骤如下:
- 
在左侧导航栏点击 流量治理 -> 网关规则 ,点击右上角的 创建 按钮。  
- 
在 创建网关规则 界面中,配置基本信息,并根据需要添加服务端后点击 确定 。  
- 
返回网关规则列表,屏幕提示创建成功。  
- 
在列表右侧,点击操作一列的 ┇ ,可通过弹出菜单进行更多操作。 