我正在使用安装在 kubernetes 之上的服务网格https://istio.io/并安装了ISTIO 在其网站上提供的示例https://istio.io/docs/examples/bookinfo/。
假设,我已经创建了一个服务 FOO,想调用服务等级通过虚拟服务评级。
如何在内部调用评级FOO?我必须在FOO服务中提供http客户端哪个地址才能调用ratings。我必须为评级创建虚拟服务吗?评级不应在 kubernetes cluser 之外访问。
当FOO调用ratings 时,请求会首先通过自己的 envoy 代理还是直接进入ratings envoy 代理?
后续问题
以下是 kubernetes 集群上安装的所有虚拟服务:
[
2
集群 IP 地址为:
问题是,如何在FOO服务中调用ratings服务?用集群IP地址?
如何在 FOO 中调用 RATINGS?需要在FOO服务中提供http客户端哪个地址才能调用RATINGS。我是否必须为 RATINGS 创建虚拟服务?RATINGS 不应在 kubernetes cluser 之外访问。
您仍然可以像没有 istio 一样调用其他服务。由于该服务只需要在集群内部可访问,因此您需要使用clusterIP 服务来公开它。然后,您可以使用Kubernetes DNS按名称调用服务。通常,该服务可在http(s)://{namespace}.{service-name}。要调用同一命名空间中的服务,您可以将{namespace}url 省略。
虽然没有必要创建 VirtualService,但 istio 建议:
尽管默认的 Istio 行为方便地将流量从任何源发送到目标服务的所有版本,而无需设置任何规则,但从一开始就为每个服务创建一个具有默认路由的 VirtualService,通常被认为是 Istio 中的最佳实践。
当 FOO 调用 RATINGS 时,请求会先通过自己的 envoy 代理还是直接进入 RATINGS 的 envoy 代理?
它将通过两个特使代理。这就是 istio 可以管理您的请求路由并提供跟踪等流量洞察的方式。
不过,可以使用traffic.sidecar.istio.io/includeOutboundIPRanges 注释绕过出站特使代理。
| 归档时间: |
|
| 查看次数: |
1238 次 |
| 最近记录: |