Istio 1.3 服务之间随机出现“上游连接错误或在标头之前断开/重置”

2024-02-08

所以,这个问题是在不同的服务之间随机发生的(看起来)。

例如,我们有一个服务 A 需要与服务 B 通信,有时我们会收到此错误,但过了一段时间,该错误就会消失。而且这种错误并不经常发生。

发生这种情况时,我们会在服务 A 中看到错误日志抛出“上游连接错误”消息,但在服务 B 中却没有。所以我们认为这可能与 sidecar 有关。

我们注意到的一件事是,在服务 B 中,我们在 istio-proxy 容器中收到很多这样的错误消息:

[src/istio/mixerclient/report_batch.cc:109] Mixer Report failed with: UNAVAILABLE:upstream connect error or disconnect/reset before headers. reset reason: connection failure

根据文档,当请求进来时,envoy 会询问 Mixer 是否一切正常(授权和其他事情),如果 Mixer 没有回复,则请求未成功。这就是为什么存在一个名为policyCheckFailOpen 的选项。 我们将其设置为 false,我想这是一个正常的默认值,如果无法到达 Mixer,我们不希望请求通过,但为什么不能呢?

disablePolicyChecks: true
policyCheckFailOpen: false
controlPlaneSecurityEnabled: false

注意:istio-policy 与 istio-proxy sidecar 一起运行。那是对的吗?

我们在其他可能失败的服务中没有看到该错误。

我经常看到的另一个日志是,该日志发生在所有未以 root 身份运行并且在 YAML 文件中定义了 fsGroup 的服务中:

watchFileEvents: "/etc/certs": MODIFY|ATTRIB
watchFileEvents: "/etc/certs/..2020_02_10_09_41_46.891624651": MODIFY|ATTRIB
watchFileEvents: notifying

我正在寻找的线索之一是关于默认断路器值。会不会和这个有关系呢?

Thanks


您看到的错误是由于未能建立与 istio-policy 的连接

基于此github问题 https://github.com/istio/istio/issues/19477

社区成员在此处添加两个答案,可以帮助您解决问题


如果全局启用 mTLS,请确保设置 controlPlaneSecurityEnabled: true


我遇到了同样的问题,然后我读到了协议选择 https://istio.io/docs/ops/configuration/traffic-management/protocol-selection/。我意识到服务定义中的端口名称应该以 http- 开头。这为我解决了这个问题。和 。如果您仍然遇到问题,您可能需要查看 pod 的 tls 检查并使用目标规则和策略解决它。


istio-policy 与 istio-proxy sidecar 一起运行。那是对的吗?

是的,我刚刚查了一下,它是带有 sidecar 的。


让我知道是否有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Istio 1.3 服务之间随机出现“上游连接错误或在标头之前断开/重置” 的相关文章

随机推荐