1

Istio 入口网关如何使用多个端口字段选项编号与单个主机名 IP 地址。

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      name: nginx
      port: 80
      protocol: TCP
    hosts:
    - "https://ip-address1"
  - port:
      name: nodejs
      port: 449
      protocol: TCP
    hosts:
    - "https://ip-address1"
4

1 回答 1

0

根据网关文档,您需要将其定义port为单个servers列表项的一部分。在您指定的同一个项目hosts中(顾名思义,您可以在这里指定许多不同的主机,实际上是它们的列表,因为每个主机都以单独的-符号开头)。

如果您想port为同一个主机再指定一个,您可以简单地在另一个项目的上下文中重复此主机的名称,- port例如此处的示例。它不能以任何不同于官方规范中描述的方式来完成。

...
spec:
  selector:
    app: my-gateway-controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - uk.bookinfo.com
    - eu.bookinfo.com
    tls:
      httpsRedirect: true # sends 301 redirect for http requests
  - port:
      number: 443
      name: https-443
      protocol: HTTPS
    hosts:
    - uk.bookinfo.com
    - eu.bookinfo.com
    tls:
      mode: SIMPLE # enables HTTPS on this port
      serverCertificate: /etc/certs/servercert.pem
      privateKey: /etc/certs/privatekey.pem
...

正如您在上面看到的,相同的主机是 http (port 80) 和 https (port 443) 配置的一部分。

于 2021-05-13T21:10:00.320 回答