MST

星途 面试题库

面试题:容器化之容器编排弹性伸缩策略基础

在容器编排工具(如Kubernetes)中,简述水平弹性伸缩(HPA)和垂直弹性伸缩(VPA)的主要区别,并且举例说明在什么场景下会优先选择使用HPA。
13.0万 热度难度
后端开发容器化

知识考点

AI 面试

面试题答案

一键面试

水平弹性伸缩(HPA)和垂直弹性伸缩(VPA)的主要区别

  1. 伸缩方式
    • HPA:通过增加或减少 Pod 的数量来调整应用的处理能力。例如,从 3 个 Pod 增加到 5 个 Pod 以应对更高的负载。
    • VPA:通过调整单个 Pod 的资源(如 CPU、内存)分配来适应负载变化。比如将一个 Pod 的 CPU 限制从 100m 提高到 200m。
  2. 资源利用率
    • HPA:不会改变单个 Pod 的资源配置,主要是在 Pod 数量层面进行调整,可能存在资源浪费或不足的情况。例如多个低负载 Pod 运行时,资源未充分利用。
    • VPA:能动态调整单个 Pod 的资源,更精准地匹配应用的实际需求,提高资源利用率。
  3. 适用场景
    • HPA:适用于应对流量突发、负载变化较大的场景,通过增加 Pod 数量来快速分担负载。
    • VPA:适用于对单个 Pod 资源需求波动但总体规模相对稳定的场景,优化单个 Pod 的资源使用。

优先选择使用 HPA 的场景举例

电商平台的促销活动期间,会有大量用户同时访问网站,导致流量瞬间大幅增加。这种情况下,优先选择 HPA 进行水平弹性伸缩。因为可以快速创建更多的 Pod 实例,让每个 Pod 分担一部分流量请求,从而确保网站能够及时响应大量用户的操作,保障服务的可用性。若使用 VPA 只增加单个 Pod 的资源,无法快速处理大量并发请求。