GKE中over-provisioning公式的两种不同解释
Two different interpretations for the over-provisioning formula in GKE
我在 GKE 自动缩放时发现了用于过度配置资源的公式的两种解释。
根据以下两个来源:
公式:
(1 - buffer) / (1 + traffic)
其中:
buffer: percentage of CPU buffer that you reserve, so your workloads do not get to 100% CPU utilization
traffic: percentage of traffic increase(expected) in the following two or three minutes
将为您提供 HPA 的新资源利用率目标的值,以适当处理预期的流量增长,同时最大限度地减少额外的资源分配。
因此,例如,如果您具有以下值:
buffer: 15%, so you would get a CPU utilization of up to 85%
traffic: 30% increase in the next two or three minutes
target utilization = (1 - 0.15) / (1 + 0.30) = 0.85 / 1.3 = 0.65384615
target utilization = 65%
这两个来源的解释是,65% 是 HPA 的优化目标利用率。然后,您 获得 35% 的超额配置资源 以在现有节点中安排新的 pods,同时集群自动缩放器(和节点自动配置器)将分配新节点在需求高峰期间。
问题是实验室 Understanding and Combining GKE Autoscaling Strategies in the section "Optimize larger loads"(版本:手册上次更新时间:2021 年 3 月 19 日)确定 65% 的值是您需要分配的超额配置资源的百分比。
因此,根据前两个来源:
- 过度配置的资源百分比:35%
但根据实验室“理解和结合 GKE 自动缩放策略”:
- 过度配置的资源百分比:65%
哪一个是正确的解释?
恕我直言,正确的解释是超额供应的价值等于 35%。该公式为您提供了一个新的 HPA 资源利用目标,该目标涉及(新)流量需求(而不是分配过量的资源百分比)。
是的,第一种解释是正确的。在第一种解释中,他们将超额配置计算为集群总大小中未使用的资源,因为 Horizontal Pod Autoscaling 配置为将资源利用率保持在 ~65%,你有 100% - 65% = 35% 未使用的资源这是 HPA 的新目标资源利用率的值。
在第二种解释中,即“理解和结合 GKE 自动缩放策略”,他们似乎将“过度配置百分比”视为“需要”的计算资源中增加了多少计算能力。换句话说,你有一个 3 节点的集群,需要 运行 你的工作负载,你在上面添加了 2 个节点,这使得你过度配置了集群 2/3 = 66.6666% ~= 65%.
第一种解释更直观,在实际使用中更有意义。
我在 GKE 自动缩放时发现了用于过度配置资源的公式的两种解释。
根据以下两个来源:
公式:
(1 - buffer) / (1 + traffic)
其中:
buffer: percentage of CPU buffer that you reserve, so your workloads do not get to 100% CPU utilization
traffic: percentage of traffic increase(expected) in the following two or three minutes
将为您提供 HPA 的新资源利用率目标的值,以适当处理预期的流量增长,同时最大限度地减少额外的资源分配。
因此,例如,如果您具有以下值:
buffer: 15%, so you would get a CPU utilization of up to 85%
traffic: 30% increase in the next two or three minutes
target utilization = (1 - 0.15) / (1 + 0.30) = 0.85 / 1.3 = 0.65384615
target utilization = 65%
这两个来源的解释是,65% 是 HPA 的优化目标利用率。然后,您 获得 35% 的超额配置资源 以在现有节点中安排新的 pods,同时集群自动缩放器(和节点自动配置器)将分配新节点在需求高峰期间。
问题是实验室 Understanding and Combining GKE Autoscaling Strategies in the section "Optimize larger loads"(版本:手册上次更新时间:2021 年 3 月 19 日)确定 65% 的值是您需要分配的超额配置资源的百分比。
因此,根据前两个来源:
- 过度配置的资源百分比:35%
但根据实验室“理解和结合 GKE 自动缩放策略”:
- 过度配置的资源百分比:65%
哪一个是正确的解释?
恕我直言,正确的解释是超额供应的价值等于 35%。该公式为您提供了一个新的 HPA 资源利用目标,该目标涉及(新)流量需求(而不是分配过量的资源百分比)。
是的,第一种解释是正确的。在第一种解释中,他们将超额配置计算为集群总大小中未使用的资源,因为 Horizontal Pod Autoscaling 配置为将资源利用率保持在 ~65%,你有 100% - 65% = 35% 未使用的资源这是 HPA 的新目标资源利用率的值。
在第二种解释中,即“理解和结合 GKE 自动缩放策略”,他们似乎将“过度配置百分比”视为“需要”的计算资源中增加了多少计算能力。换句话说,你有一个 3 节点的集群,需要 运行 你的工作负载,你在上面添加了 2 个节点,这使得你过度配置了集群 2/3 = 66.6666% ~= 65%.
第一种解释更直观,在实际使用中更有意义。