← 中文资源

简体中文版本

用垂直 Pod 自动伸缩器调整规格

先以建议模式运行 VPA、复核建议资源量,再在受控模式下启用,使 Pod 的资源与真实用量匹配。

阅读英文原文

概述

凭猜测设置 requests 会让 Pod 要么被限流、要么被过度分配,集群也因此无法高效调度。VPA 依据真实用量给出建议,先用 Off 模式获取建议、人工复核后再受控应用,可避免盲目与频繁重启。

关键步骤

  1. 以 Off 模式部署 VPA,仅收集建议而不改动 Pod。
  2. 结合 SLO 与已知峰值复核建议。
  3. 对合适的工作负载启用 Initial 或 Recreate 模式。
  4. 监控 VPA 引起的重启,必要时排除有状态或延迟敏感 Pod。

验证

  • 建议反映真实用量。
  • 应用后 Pod 资源与需求相符。
  • 未出现异常频繁重启。
  • 与 HPA 的维度不冲突。

注意事项

  • VPA 的应用模式会驱逐 Pod 以施加新请求,可能造成中断。
  • 它依据过去用量,无法像水平扩展那样预先应对突发流量。

适用范围

本条目围绕「用垂直 Pod 自动伸缩器调整规格」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata: { name: app-vpa }
spec:
  targetRef: { apiVersion: apps/v1, kind: Deployment, name: app }
  updatePolicy: { updateMode: "Off" }  # recommendation only