雲端與容器基礎
在 Kubernetes 的 HorizontalPodAutoscaler 中,把 Pod 的CPU使用率目標設為70%,Pod 數的範圍設為1~10。目前5個 Pod 的平均CPU使用率為30%。以 ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉(⌈ ⌉ 為無條件進位)求所需 Pod 數時,所需的 Pod 數為下列何者?
- A2個
- B3個
- C12個
查看答案與解析
正確答案:B. 3個
HorizontalPodAutoscaler 以 所需數量 = ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉ 決定 Pod 數。5 × 30 ÷ 70 = 2.14…,無條件進位為3個。負載下降時也以同一公式減少數量(縮減),計算出的值會被限制在指定的範圍(1~10)內。實際上還有使用率比值接近1時不變更的容許範圍,以及減少前先觀察一段時間的機制,避免 Pod 數變動得太頻繁。
- A. 這是把2.14…無條件捨去的值。2個時每個的使用率為 30 × 5 ÷ 2 = 75%,超過目標的70%,所以要進位。
- B. 正確。5 × 30 ÷ 70 = 2.14…,進位為3個。
- C. 這是把目標與目前使用率顛倒的值(5 × 70 ÷ 30 = 11.7… 進位)。使用率低於目標,所以 Pod 數會減少。