嘿,所以我为同一个域{-{1}}配置了端口80和8083的网关。现在,当我使用下面的配置文件创建属性时,一切都会启动并运行。
问题是我在服务和virtualService中使用了example.com
,但是我在8083
的{{1}}处得到了服务的响应。
无法理解为什么服务在80而不是8083上响应。我想将两个端口都保留在网关中,但是在服务和入口端口8083中定义时,它应该专门在8083上响应。
感谢您对此的反馈。
80
答案 0 :(得分:2)
您的配置有两个问题:
http-tomcat
而不是tomcat-http
,请参阅Istio requirements for named ports istio-ingressgateway
服务,并添加端口8083:
helm template install/kubernetes/helm/istio/ --name istio-ingressgateway \
--namespace istio-system -x charts/gateways/templates/service.yaml \
--set gateways.istio-egressgateway.enabled=false \
--set gateways.istio-ingressgateway.ports[0].port=80 \
--set gateways.istio-ingressgateway.ports[0].name=http \
--set gateways.istio-ingressgateway.ports[1].port=443 \
--set gateways.istio-ingressgateway.ports[1].name=https \
--set gateways.istio-ingressgateway.ports[2].port=8083 \
--set gateways.istio-ingressgateway.ports[2].name=http-tomcat \
| kubectl apply -f -
话虽如此,您真的必须启用对端口8083的入口访问吗?您可以在VirtualService
中为端口80定义一些路径,例如/ tomcat / *,然后将来自端口80的传入流量引导至端口8083上的服务。