概述
凭猜测设置 requests 会让 Pod 要么被限流、要么被过度分配,集群也因此无法高效调度。VPA 依据真实用量给出建议,先用 Off 模式获取建议、人工复核后再受控应用,可避免盲目与频繁重启。
关键步骤
- 以 Off 模式部署 VPA,仅收集建议而不改动 Pod。
- 结合 SLO 与已知峰值复核建议。
- 对合适的工作负载启用 Initial 或 Recreate 模式。
- 监控 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