管理网关规则

网关规则定义了在网格出入口操作的负载均衡器,用于接收传入或传出的HTTP/TCP连接。本文介绍如何对网关规则进行创建、修改、删除等操作。

前提条件

已创建ASM实例。具体操作,请参见创建ASM实例

创建网关规则

方式一:通过图形化界面创建网关规则

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择ASM网关 > 网关规则,然后单击创建

  3. 创建页面,配置相关信息,然后单击创建

    配置示例如下。关于配置项的说明,请参见网关规则(Gateway)CRD说明

    A1A78515-8B76-4286-ACDD-75BB5B61A617

方式二:使用YAML创建网关规则

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择ASM网关 > 网关规则,然后单击使用YAML创建

  3. 创建页面,选择命名空间场景模版,在YAML文本框,按需修改网关规则配置,然后单击创建

    YAML示例如下。该网关规则配置定义如何在网关上暴露80、9080、443和9443端口。该规则将会应用到携带istio: ingressgateway标签的Pod上。更多信息,请参见网关规则(Gateway)CRD说明

    展开查看YAML示例

    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: my-gateway
      namespace: some-config-namespace
    spec:
      selector:
        istio: ingressgateway
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - test1.com
        - test2.com
        tls:
          httpsRedirect: true
      - port:
          number: 443
          name: https-443
          protocol: HTTPS
        hosts:
        - uk.bookinfo.com
        - eu.bookinfo.com
        tls:
          mode: SIMPLE
          serverCertificate: /etc/certs/servercert.pem
          privateKey: /etc/certs/privatekey.pem
      - port:
          number: 9443
          name: https-9443
          protocol: HTTPS
        hosts:
        - "bookinfo-namespace/*.bookinfo.com"
        tls:
          mode: SIMPLE
          credentialName: bookinfo-secret
      - port:
          number: 9080
          name: http-wildcard
          protocol: HTTP
        hosts:
        - "*"

相关操作

网关规则创建完成后,您可以在网关规则页面的操作列,进行以下操作。

  • 查看或修改YAML:单击目标网关规则对应的查看YAML,然后在编辑对话框,按需修改网关规则的配置信息,单击确定

  • 版本管理:单击目标网关规则对应的版本管理,然后在版本管理对话框,单击回滚。更多信息,请参见回滚Istio资源的历史版本

  • 删除网关规则:单击目标网关规则对应的删除,然后在确认对话框,单击确定

    重要

    网关规则删除后,将无法通过该网关路由规则,可能导致服务无法访问,请谨慎操作。