2.5.3.4. 手动应用 VPA 建议

要使用 VPA 来仅决定推荐的 CPU 和内存值而不进行实际的应用,对特定的工作负载创建一个 VPA CR,把 updateMode 设置为 off

当为该工作负载对象创建 pod 时, VPA 会分析容器的 CPU 和内存需求,并在 VPA CR 的 status 字段中记录推荐。VPA 会提供新的资源建议,但不会更新 pod。

使用 Off 模式的 VPA CR 示例

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: vpa-recommender
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind:       Deployment 1
    name:       frontend 2
  updatePolicy:
    updateMode: "Off" 3

1
您希望此 VPA CR 管理的工作负载对象类型。
2
您希望此 VPA CR 管理的工作负载对象名称。
3
将模式设置为 Off

您可以使用以下命令查看建议。

$ oc get vpa <vpa-name> --output yaml

根据建议,您可以编辑工作负载对象以添加 CPU 和内存请求,然后删除 pod 并使用推荐的资源重新部署 pod。

注意

在 VPA 可以决定推荐的资源前,pod 必须已在运行。