6

Istio 入口网关默认公开以下端口:

80:31380/TCP,443:31390/TCP,31400:31400/TCP

为什么它会暴露 31400 并将其映射到 31400?我在文档或其他地方找不到对此的解释。

背景:我正在使用 Istio 0.8.0遵循使用 Helm 安装的指南。helm template部署清单是从https://github.com/istio/istio/tree/0.8.0/install/kubernetes/helm/istio构建的,给出以下入口网关服务定义:

# Source: istio/charts/ingressgateway/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: istio-ingressgateway
  namespace: istio-system    
  labels:
    chart: ingressgateway-0.8.0
    release: istio
    heritage: Tiller
    istio: ingressgateway
spec:
  type: NodePort
  selector:
    istio: ingressgateway
  ports:
    -
      name: http
      nodePort: 31380
      port: 80
    -
      name: https
      nodePort: 31390
      port: 443
    -
      name: tcp
      nodePort: 31400
      port: 31400
4

2 回答 2

6

提交 a4b6cc5提到:

由于 testdata 依赖关系,重新添加 31400 端口

这是istio/istioPR 6350的一部分

这些更改增加了对 Helm 图表中多个入口/出口网关配置的支持。
新的 gateways 字段是一个数组,默认情况下只有一个配置(和以前一样),但允许用户添加更多配置以在安装图表时部署多个入口/出口网关。

请参阅提交 05cba4e

于 2018-07-17T21:38:20.687 回答
4

这只是默认安装选项。默认情况下,Istio 会打开您在上面列出的一组 NodePort,以便在您使用 Minikube 等不支持 LoadBalancer 端口类型的环境时,您可以使用这些端口访问入口网关。如果您在非 Minikube 环境中部署 Istio,则可以省略 NodePorts。

于 2018-10-08T19:10:03.163 回答