簡體   English   中英

kubernetes 部署 A 的 HPA 和部署 B 的 VPA

[英]kubernetes HPA for deployment A and VPA for deployment B

VPA 的文檔指出 HPA 和 VPA 不應該一起使用。 它只能用於在您想要擴展自定義指標時進行聚合。

我在 CPU 上啟用了縮放。

我的問題是我可以為某些部署啟用 HPA(比如說 A)並為某些部署啟用 VPA(比如說 B)。 或者這也會導致錯誤。

不建議同時使用它們,因為如果它們都檢測到需要 memory,他們可能想嘗試同時解決相同的問題,這將導致資源分配錯誤。

這不是可以在應用程序部署級別指定的內容,但您可以使用targetRef指定HPAVPA應擴展哪個部署

因此,對於使用app1的部署,您可以指定VPA

apiVersion: autoscaling.k8s.io/v1beta2
kind: VerticalPodAutoscaler
metadata:
  name: app1-vpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: app1

對於app2 ,您可以指定使用HPA

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: app2-hpa 
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: app2

如果需要在相同的部署中同時使用 HPA 和 VPA,您只需確保他們的行為基於不同的指標。 這樣,您可以通過按相同事件進行縮放來防止它們。 總結一下,如果 HPA 配置不使用 CPU 或 Memory 來確定文檔中所述的目標,則可以一起使用 VPA 和 HPA:

“目前,垂直 Pod Autoscaler不應與CPU 或 memory 上的 Horizontal Pod Autoscaler (HPA) 一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM