the*_*mar 3 kubernetes istio kiali
我有两个 Istio 集群,使用复制的控制平面并运行 Kiali。在每个集群中,我有两个交互的应用程序,但我在 Kiali 仪表板中看不到它们之间的流量。相反,流量显示为通过直通集群。
应用程序使用 kubernetes 服务名称进行交互,并且它们交互正确,只是在 Kiali 中没有正确显示。
对于可能出现的问题有什么想法吗?或者这是预期的行为(我对 Istio 还是新手)。
jt9*_*t97 10
据我所知,当您使用 Passthrough 选项时,这是预期的行为。检查下面的 istiobyexample 链接,它准确地显示了它的工作原理。
\n\n\n当启用ALLOW_ANY时,Istio 使用名为 PassthroughCluster 的 Envoy 集群(由 sidecar 代理强制执行)来监控出口流量。
\n
看看 kiali相关文档
\n\n\n发送到 PassthroughCluster(或 BlackHoleCluster)的请求是未路由到定义的服务或服务条目的请求,而是最终到达这些内置 Istio 请求处理程序之一。有关详细信息,请参阅监控阻止和直通的外部服务流量。
\n到这些节点的意外路由并不表示 Kiali 问题,您\xe2\x80\x99 看到的是 Istio 执行的实际路由。一般来说,这是由于配置错误和/或缺少 Istio sidecar 造成的。网格的实际问题虽然不太常见,但也有可能出现,例如同步问题或被逐出的 pod。
\n使用 Kiali\xe2\x80\x99s 工作负载列表视图确保 sidecar 不丢失。使用 Kiali\xe2\x80\x99s Istio 配置列表视图查找任何配置验证错误。
\n
还有istiobyexample.dev上的示例。
\n\n\n\n首先,我们使用带有默认 ALLOW_ANY 出口选项的 Istio 安装。这意味着无需额外配置即可允许 idgen 对 httpbin 的请求。当启用 ALLOW_ANY 时,Istio 使用名为 PassthroughCluster 的 Envoy 集群(由 idgen 的 sidecar 代理强制执行)来监控出口流量。
\nEnvoy 集群是一组后端(或 \xe2\x80\x9cupstream\xe2\x80\x9d)端点,代表外部服务。Istio sidecar Envoy 代理将过滤器应用于从应用程序容器拦截的请求。根据这些过滤器,Envoy 将流量发送到特定路由。路由指定要将流量发送到的集群。
\nIstio Passthrough 集群的设置使后端成为原始请求目的地。因此,当为出口流量启用 ALLOW_ANY 时,Envoy 将简单地将 xe2x80x9c 通过 xe2x80x9d idgen 的请求发送到 httpbin。
\n通过此配置,如果我们通过 IngressGateway 发送配方 ID 请求,idgen 可以成功调用 httpbin。此流量在 Kiali 服务图中显示为 PassthroughCluster 流量 - 我们需要添加一个 ServiceEntry,以便 httpbin 获得其自己的服务级别遥测数据。(我们稍后会这样做。)
\n
\n\n\n但是,如果我们深入 Prometheus 并找到 istio_total_requests 指标,我们可以看到 PassthroughCluster 流量将流向名为 httpbin.org 的目标服务。
\n
希望你觉得这个有用。
\n 归档时间: |
|
查看次数: |
12760 次 |
最近记录: |