首页 > 解决方案 > Istio 自动扩展需要调整断路器 maxConnections (http 1.1)?

问题描述

在 Kubernetes 中,我们有 HPA(Horizo​​ntal Pod Autoscaler)和 CA(Cluster Autoscaler),它们可以根据请求量自动扩展和缩减。如果我们在 Kubernetes 中采用 Istio 的断路器,由于自动缩放,我如何相应地调整 maxConnections(http 1.1)?还是我需要这样做?可能有点矛盾,因为我想要自动缩放但是我应用断路器来限制它。对我来说,我只想保护我的服务不被过度配置。

https://istio.io/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-TCPSettings

标签: kubernetesistio

解决方案


maxConnections将限制到特定主机的连接数量。默认值为 1024,不受autoscaler.

maxConnectionsfrom 断路器连接池设置将是每个特使。因此它不会分布在所有 pod 中,而是每个 pod。

因此,通过在您的HPAMAXPODS配置中配置(最大)数量的 pod 。您可以乘以并获得服务的最大连接数。maxConnections

因此,此配置提供了针对突发流量和过度配置的基本保护。

但是,如果maxConnections数量太少,pod 可能永远无法获得足够的连接并开始使用更高的 cpu 并触发缩放。

github上有一个关于这个的问题。


还可以将 Prometheus 指标配置为您的 HPA 的触发器,如此所述。


希望这可以帮助。


推荐阅读