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

标签 kubernetes autoscaling

假设我有这个 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 目标也成为 CronJob test-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

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


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

其他资源:

关于Kubernetes,一个VPA可以管理多个Cronjobs吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66232832/

相关文章:

Kubernetes - 如何拆除集群?

kubernetes - 如何使用 prometheus kubernetes 抓取 pod 级别信息?

kubernetes - 删除 node-role.kubernetes.io/master :NoSchedule taint

amazon-web-services - AWS Cloudwatch - 当我尝试为 SQS 创建警报时没有显示自动扩展组

kubernetes - 如何跟踪 pod 等待开始的时间?

maven - gofabric8>无法解压缩/Users/apple/.fabric8/bin/oc.zip zip:无效的zip

kubernetes - 如何检查Kubernetes Cluster Autoscaler版本?

amazon-web-services - 如何使用创建配置文件的 CloudFormation 模板创建 LaunchConfiguration?

azure - Azure 云服务内置自动缩放如何工作?

java - Auto Scaling 无法在 Elastic Beanstalk 中与 Tomcat 一起正常工作