- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
HPA-如何避免因CPU使用率激增而扩大规模(不在启动时)
在为其他国家/地区加载业务配置时,CPU负载会增加1分钟,但我们要避免在1分钟内扩大规模。
在下面的图片中,CurrentMetricValue只是来自矩阵的当前值或从上次轮询到当前轮询持续时间的平均值-水平.-pod-autoscaler-sync-period
最佳答案
HPA的默认检查间隔为30秒。可以通过更改 Controller 管理器的--horizontal-pod-autoscaler-sync-period
标志的值来通过进行配置。
Horizontal Pod Autoscaler被实现为一个控制循环,其周期由 Controller 管理器的--horizontal-pod-autoscaler-sync-period标志控制。
在每个期间, Controller 管理器都会根据每个HorizontalPodAutoscaler定义中指定的指标查询资源利用率。 Controller 管理器从资源指标API(针对每个pod资源指标)或自定义指标API(针对所有其他指标)获取指标。
为了更改/添加kube-controller-manager中的标志-您应该有权访问主节点上的/etc/kubernetes/manifests/
目录,并且能够修改/etc/kubernetes/manifests/kube-controller-manager.yam
l中的参数。
注意:您无法在GKE,EKS和其他托管群集上执行此操作。
此外,我建议增加--horizontal-pod-autoscaler-downscale-stabilization
(替代--horizontal-pod-autoscaler-upscale-delay
)。
如果您担心长时间中断,我建议您设置一个自定义指标(如果最后一个${duration}
中的网络中断,则为1;否则,将指标的目标值设置为1(基于CPU的自动缩放功能除外)。这条路:
如果基于自定义指标的最后${duration}
建议中的网络中断,则该值将等于您当前部署的大小。此建议的最大值和非常低的CPU建议将等于当前的部署大小。在恢复连接之前,不会缩减规模(由于缩减规模稳定窗口,此后+几分钟)。
如果网络可用,则基于该指标的建议将为0。将CPU推荐值最大化,它将等于CPU推荐值,并且自动定标器将正常运行。
我认为这比限制自动缩放步骤的大小更好地解决了您的问题。限制自动扩展步骤的大小只会减慢Pod数量减少的速度,因此更长的网络中断仍将导致您的部署缩减到最小允许大小。
您还可以使用基于内存的缩放
由于无法在Kubernetes中创建基于内存的hpa,因此已编写了脚本来实现该目的。您可以通过单击以下链接在此处找到我们的脚本:
https://github.com/powerupcloud/kubernetes-1/blob/master/memory-based-autoscaling.sh
https://github.com/powerupcloud/kubernetes-1.git
./memory-based-autoscaling.sh --help
关于kubernetes - Kubernetes HPA-如何避免因CPU使用率飙升而扩大规模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59747323/
我正在尝试缩放 :before我的内容 到目前为止,悬停时会应用样式,但没有视觉变化,:before保持相同的比例。 到目前为止我得到了什么: 12 SASS(CSS): .c
我正在使用 CGAffineTransformMake 转换 View 。它可以旋转、缩放和平移。这很好用。但我无法找到一种方法将比例限制为最大尺寸。 如果超出比例,我仍然需要应用当前的旋转和平移。
我想知道当我无法访问存储它的实际硬盘时是否有办法确定我的 svn repo 的大小?我之所以这么问,是因为我们的项目托管在谷歌代码上。有 1GB 的限制。我怀疑我们是否接近它,但我真的不知道并且想密切
抱歉,我已经花了大约 5 个小时来研究这个问题,但无法弄清楚发生了什么。我正在玩 http://bl.ocks.org/mbostock 上的一些示例网站并尝试向堆积条形图添加图例。 为此,我设置了比
我正在使用这个: var response = client.Search(s => s.Query(q => q.Ids(c => c.Values(new List(tempDictionary.
我想扩展一个 wildfly 容器,该容器暴露了多个端口并具有确定性结果。 docker-compose.yml version: '3' services: wildfly-server:
我目前正在使用 Linode 来部署我的应用程序。我有 2 台服务器,1 台数据库服务器,前面有 1 个负载均衡器。 我使用Redis作为数据库和NowJS来实现聊天室。使用 Pub/Sub 一切正常
在开发过程中,我需要经常更新我的 Web 应用程序源代码并将更新后的 war 部署到远程 Tomcat 服务器。上传一场大战 (25MB) 在我的连接上花费的时间太长(大约 30 分钟),这非常低效。
我有一个在生产中需要 websocket 连接的网络服务器。我使用 docker-compose 和 nginx 作为代理来部署它。 所以我的撰写文件如下所示: version: '2' servic
我的 Web 服务是在 Grails/Gradle 中创建的,其中包含许多依赖项 jar,使得部署在 tomcat8 中的 war 规模很大。有没有什么办法可以让我的 war 使用来自不同位置的依赖项
我是一名优秀的程序员,十分优秀!