Azure AKS 节点池不根据缩放配置文件自动缩放

标签 azure kubernetes containers azure-aks autoscaling

我有一个启用了自动缩放的 AKS 集群,其中规则基于平均 CPU。 enter image description here

默认节点数为 := default = 5min = 4max = 7 并且缩放规则有冷却时间5 分钟。

我试图理解为什么缩放规则会导致连续的放大和缩小 enter image description here

而平均 CPU 使用率对于 4 个节点来说足够低。

enter image description here

我发现更令人惊讶的是,事件日志仅突出显示小规模事件!它们的冷却时间一致为5分钟,所以AKS认为他一直在缩小规模,神奇地出现新节点,并且不断缩小规模?

谁能解释一下这是怎么回事以及造成这种情况的原因是什么?

enter image description here

最佳答案

• 由于您已将节点池中的默认节点数设置为 5,但 CPU 平均利用率也没有达到 40%,因此它会自动将其缩减到配置的节点池中的最低节点数,即,4 个节点,一旦达到该节点数,就满足自动缩小条件,并再次扩大到默认节点数 5。这解释了发布的第一张图片中节点的不断扩大和缩小.

• 根据以下 Microsoft 文档,事件日志中以默认 5 分钟持续时间捕获的连续缩减事件是默认延迟 5 分钟的扩展事件的冷却时间。并且仅捕获缩小事件,因为在节点池中缩小到 4 个节点至默认节点数 5 后,CPU 初始化和利用率仅根据水平自动缩放器规则触发缩小事件。因此,事件日志中仅记录缩减事件:-

https://learn.microsoft.com/en-us/azure/aks/concepts-scale#cooldown-of-scaling-events

此外,请查找以下 Kubernetes 文档以供引用:-

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-cooldown-delay

关于Azure AKS 节点池不根据缩放配置文件自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70666951/

相关文章:

azure - Azure WorkerRole 中的意外 Process.Start 行为

azure - Visual Studio 2017 版本 15.3.2 缺少 Azure 移动应用程序模板

google-cloud-platform - 用于 HTTP 负载平衡的 Google 云后端服务忽略自定义端口

docker - docker swarm上的WebDAV服务器的永久存储?

C++,如何在复制构造函数中正确复制 std::vector<Class *>?

azure - 使用 ARM 创建 Azure Function 主机 key 不适用于新部署

c# - Azure 容器应用服务。 Docker 运行参数?

Kubernetes 在测试环境中限制 kube-system 的 CPU 请求。

mysql - 使用具有 mysql 和 minikube 的本地 docker 镜像

html - Div 没有其 float 子项的总高度高