假设启用了Istio的服务A
公开名为8080
的端口http
,因此当从网格内部访问时,Istio执行L7负载平衡。
我想知道是否有办法从没有Istio边车的pod / service 8080
访问此B
端口。在这种情况下,流量将是:
B -> A Envoy -> A
要么
B -> A
这样,我就可以访问一个名为A
的{{1}}端口(即只有L4负载均衡)
我的特殊用例是我有Prometheus(不在网格中运行),Prometheus Operator直接在网格中搜索服务(不涉及Istio Mixer;服务公开他们自己的业务逻辑指标)。它仅适用于我,并且仅在给定服务未命名其端口http
时才会起作用。
答案 0 :(得分:1)
如果您启用了身份验证(mTLS),则它在设计上不起作用,因为Istio会尝试保护所有服务与服务通信。
您可以关闭身份验证,如果这没有帮助,也可以尝试使用Istio 0.2.4候选版本(或者您在阅读本文时的最新版本,请参阅https://github.com/istio/istio/releases)并查看是否问题仍然存在,如果确实如此,请在https://github.com/istio/issues/issues/new
提交问题在0.3(可能更早)中,我们会让你对mTLS进行细粒度控制。