我正在使用Kubernetes和GCE定义此自动缩放程序,想知道targetCPUUtilizationPercentage
应该指定什么。这个目标指向的是什么?它是我的集群中的总CPU吗?当此自动缩放程序中引用的Pod消耗大于targetCPUUtilizationPercentage
时会发生什么?
我正在使用Kubernetes和GCE定义此自动缩放程序,想知道targetCPUUtilizationPercentage
应该指定什么。这个目标指向的是什么?它是我的集群中的总CPU吗?当此自动缩放程序中引用的Pod消耗大于targetCPUUtilizationPercentage
时会发生什么?
CPU 利用率是部署中所有 Pod 在过去一分钟内的平均 CPU 使用率除以此部署所请求的 CPU。如果 Pod 的 CPU 利用率平均值高于您定义的目标,则会相应地调整副本。
您可以在这里阅读更多关于此主题的信息。
这是所有Pod的平均CPU利用率,因此如果您在资源请求中将请求的CPU设置为200
,并将targetCPUUtilizationPercentage
设置为80%
,那么在阈值160
处,它将扩展Pod。它将创建一个新的副本。
limits
或requests
吗? - Justin Reusnowautoscaling/v2
开始,不再支持targetCPUUtilizationPercentage
。相反,您可以使用metrics
数组。
以下是一个示例,可以替换targetCPUUtilizationPercentage
以达到相同的效果:apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-deployment-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
minReplicas: 1
maxReplicas: 10
# Define metrics array for CPU utilization
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50