Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes HPA的平滑负载再平衡_Kubernetes - Fatal编程技术网

Kubernetes HPA的平滑负载再平衡

Kubernetes HPA的平滑负载再平衡,kubernetes,Kubernetes,我已使用nginx ingress配置了我的入口控制器,并为我的部署定义了HPA。当我们进行负载测试时,我们发现新创建的POD上出现了一个问题,该POD没有充分预热,而负载平衡会立即改变目标部分的流量,延迟峰值和服务会阻塞。是否有一种方法可以定义一些平滑的负载再平衡,从而逐渐移动流量,从而以更自然的方式预热服务 下面是我们现在看到的一个示例效果: 乍一看,我发现这种行为有两个可能的原因: 我认为您有可能面临与此问题相同的问题:。在这种情况下,Nginx向未完全准备好的pod发送请求。要解决此问题

我已使用nginx ingress配置了我的入口控制器,并为我的部署定义了HPA。当我们进行负载测试时,我们发现新创建的POD上出现了一个问题,该POD没有充分预热,而负载平衡会立即改变目标部分的流量,延迟峰值和服务会阻塞。是否有一种方法可以定义一些平滑的负载再平衡,从而逐渐移动流量,从而以更自然的方式预热服务

下面是我们现在看到的一个示例效果:

乍一看,我发现这种行为有两个可能的原因:

  • 我认为您有可能面临与此问题相同的问题:。在这种情况下,Nginx向未完全准备好的pod发送请求。要解决此问题,您可以配置。就我个人而言,我将就绪探测配置为向我的服务的/健康端点发送http请求

  • 但是,应用程序在第一次请求期间自然会执行缓慢,这通常是因为缓存或其他一些操作需要在其生命周期开始时执行。我在Django+Gunicorn应用程序中遇到了这个问题,Gunicorn只在第一次请求后启动了我的应用程序。为了解决这个问题,我使用了一个
    PostStart
    ,它在创建容器后立即向我的应用程序发送请求。是其使用的一个例子。您还可以看看这个问题: