面试题答案
一键面试水平弹性伸缩(HPA)和垂直弹性伸缩(VPA)的主要区别
- 伸缩方式
- HPA:通过增加或减少 Pod 的数量来调整应用的处理能力。例如,从 3 个 Pod 增加到 5 个 Pod 以应对更高的负载。
- VPA:通过调整单个 Pod 的资源(如 CPU、内存)分配来适应负载变化。比如将一个 Pod 的 CPU 限制从 100m 提高到 200m。
- 资源利用率
- HPA:不会改变单个 Pod 的资源配置,主要是在 Pod 数量层面进行调整,可能存在资源浪费或不足的情况。例如多个低负载 Pod 运行时,资源未充分利用。
- VPA:能动态调整单个 Pod 的资源,更精准地匹配应用的实际需求,提高资源利用率。
- 适用场景
- HPA:适用于应对流量突发、负载变化较大的场景,通过增加 Pod 数量来快速分担负载。
- VPA:适用于对单个 Pod 资源需求波动但总体规模相对稳定的场景,优化单个 Pod 的资源使用。
优先选择使用 HPA 的场景举例
电商平台的促销活动期间,会有大量用户同时访问网站,导致流量瞬间大幅增加。这种情况下,优先选择 HPA 进行水平弹性伸缩。因为可以快速创建更多的 Pod 实例,让每个 Pod 分担一部分流量请求,从而确保网站能够及时响应大量用户的操作,保障服务的可用性。若使用 VPA 只增加单个 Pod 的资源,无法快速处理大量并发请求。