[英]kubernetes HPA for deployment A and VPA for deployment B
VPA 的文檔指出 HPA 和 VPA 不應該一起使用。 它只能用於在您想要擴展自定義指標時進行聚合。
我在 CPU 上啟用了縮放。
我的問題是我可以為某些部署啟用 HPA(比如說 A)並為某些部署啟用 VPA(比如說 B)。 或者這也會導致錯誤。
不建議同時使用它們,因為如果它們都檢測到需要 memory,他們可能想嘗試同時解決相同的問題,這將導致資源分配錯誤。
這不是可以在應用程序部署級別指定的內容,但您可以使用targetRef
指定HPA
和VPA
應擴展哪個部署
因此,對於使用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.