Kubernetes,一个VPA可以管理多个cronjob吗?



假设我有这个VPA配置文件:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: vpa-reco
spec:
targetRef:
apiVersion: "batch/v1beta1"
kind: CronJob
name: test-autoscaling-1
updatePolicy:
updateMode: "Off"

我如何使我的VPA目标CronJobtest-autoscaling-2也?

遗憾的是,您不能在单个VPA对象中引用多个对象。

如果您尝试如下(在单个VPA中有2个CronJobs):

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: vpa-reco
spec:
targetRef:
- apiVersion: "batch/v1beta1"
kind: CronJob
name: test-autoscaling-1
- apiVersion: "batch/v1beta1"
kind: CronJob
name: test-autoscaling-2
updatePolicy:
updateMode: "Off"

你应该得到类似于下面的错误(它的一部分):

denied the request: json: cannot unmarshal array into Go struct field VerticalPodAutoscalerSpec.targetRef of type v1.CrossVersionObjectReference

要将VPA配置为:test-autoscaling-1test-autoscaling-2,您需要创建两个单独的VPA对象如:vpa-reco-1vpa-reco-2.


VPACronJob的角度来看,0.7.0版本增加了对它的支持。在这个特定的发布说明中可以找到更多信息:

  • Github.com: Kubernetes: Autoscaler:发布:标签:垂直pod Autoscaler 0.7.0

额外资源:

  • Github.com: Kubernetes: Autoscaler

相关内容

  • 没有找到相关文章

最新更新