gpt4 book ai didi

kubernetes - 如何让k8s cpu和内存HPA协同工作?

转载 作者:行者123 更新时间:2023-12-02 18:50:50 24 4
gpt4 key购买 nike

我正在为 CPU 和内存使用 k8s HPA 模板,如下所示:

---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: {{.Chart.Name}}-cpu
labels:
app: {{.Chart.Name}}
chart: {{.Chart.Name}}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{.Chart.Name}}
minReplicas: {{.Values.hpa.min}}
maxReplicas: {{.Values.hpa.max}}
targetCPUUtilizationPercentage: {{.Values.hpa.cpu}}
---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: {{.Chart.Name}}-mem
labels:
app: {{.Chart.Name}}
chart: {{.Chart.Name}}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{.Chart.Name}}
minReplicas: {{.Values.hpa.min}}
maxReplicas: {{.Values.hpa.max}}
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageValue: {{.Values.hpa.mem}}

拥有两个不同的 HPA 会导致任何新的 pod 旋转起来触发内存 HPA 限制,因为 pod 的 CPU 使用率低于 CPU 的缩减触发器,CPU HPA 会立即终止。它总是会终止最新的 pod 旋转起来,这会保留旧的 pod 并再次触发内存 HPA,从而导致无限循环。有没有办法指示 CPU HPA 每次都终止使用率较高的 pod 而不是新生的 pod?

最佳答案

根据评论中的建议,使用单个 HPA 解决了我的问题。我只需要将 CPU HPA 移动到与内存 HPA 相同的 apiVersion。

关于kubernetes - 如何让k8s cpu和内存HPA协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66813681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com