我可以通过以下方式与同一名称空间中的另一个服务进行通信:
curl http://myservice1:8080/actuator/info在舱里。
该应用程序未配置TLS,我很好奇是否可以通过虚拟服务访问该pod,以便使用此Istio功能:
curl https://myservice1:8080/actuator/info我们已经有了Istio virtualservice和网关。对pod的外部访问由pod管理,并且工作正常。如果可能的话,我们只想通过https到达另一个pod,而不必重新配置应用程序。
发布于 2021-11-23 10:22:26
如何通过istio安全地与k8s服务通信?
回答标题下的问题-有许多可能性,但您应该在开始时使用Understanding TLS Configuration
Istio最重要的功能之一是能够锁定和保护进出网格和网格内部的网络流量。但是,配置TLS设置可能会令人困惑,并且是导致配置错误的常见原因。本文试图解释在Istio中发送请求时涉及的各种连接,以及如何配置这些连接的相关TLS设置。有关一些最常见的TLS configuration mistakes配置问题的摘要,请参阅TLS。
有许多不同的方法来保护您的连接。这完全取决于您到底需要什么,以及您设置了什么。
我们已经有了istio虚拟服务和网关,pod的外部访问由它来管理并正常工作。如果可能的话,我们只想通过https访问另一个pod,而不必重新配置应用程序。
对于虚拟服务和网关,您将找到一个示例配置in this article。您可以找到适用于single host和multiple hosts的指南。
如果可能的话,我们只想通过https到达另一个pod,而不必重新配置应用程序。
在这里,您很可能能够应用outbound configuration
虽然入站端配置预期的通信类型以及如何处理它,但出站配置控制网关将发送的通信类型。这由
DestinationRule中的TLS设置配置,就像默认情况下来自sidecars或auto mTLS的外部出站流量一样。
唯一的区别是,您在配置此设置时应小心考虑Gateway设置。例如,如果Gateway配置了TLS PASSTHROUGH,而DestinationRule配置了TLS发起,那么您最终将使用double encryption。这是可行的,但通常不是所需的行为。
绑定到网关的VirtualService也需要注意具有Gateway定义的ensure it is consistent。
https://stackoverflow.com/questions/70076530
复制相似问题