Istio ingress网关默认公开以下端口:
80:31380/TCP,443:31390/TCP,31400:31400/TCP
为什么它会暴露31400并将其映射到31400?我无法在文档或其他地方找到对此的解释 .
Background: 我正在使用Istio 0.8.0关注Install with Helm via 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
2 回答
Commit a4b6cc5提到:
这是istio/istio PR 6350的一部分
见commit 05cba4e .
这只是默认安装选项 . 默认情况下,Istio会打开您在上面列出的NodePort集,以便在使用不支持LoadBalancer端口类型的Minikube等环境时,可以使用这些端口访问入口网关 . 如果要在非Minikube环境中部署Istio,则可以省略NodePorts .