雲端與容器基礎

在 Kubernetes 的 HorizontalPodAutoscaler 中,把 Pod 的CPU使用率目標設為70%,Pod 數的範圍設為1~10。目前5個 Pod 的平均CPU使用率為30%。以 ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉(⌈ ⌉ 為無條件進位)求所需 Pod 數時,所需的 Pod 數為下列何者?

  1. A2個
  2. B3個
  3. 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 數會減少。
練習這個領域 前往領域頁面

雲端與容器基礎的其他題目

  1. 在 Pod 的容器做了上面設定的 Deployment 中,有4個 Pod 在執行,每個 Pod 都使用400m(0.4核心)的CPU。HorizontalPodAutoscaler 的CPU使用率目標為60%,所需 Pod 數以 ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉ 求得。所需的 Pod 數為下列何者?
  2. 在 Kubernetes 中,關於為容器設定的資源 requests 與 limits,下列何者正確?
  3. 有一個可分配資源為CPU 4核心、記憶體 8 GiB 的節點。各 Pod 的容器設定了 requests 為CPU 500m、記憶體 1.5 GiB,limits 為CPU 1核心、記憶體 2 GiB。沒有其他 Pod 與系統預留。這個節點最多可放置的 Pod 數為下列何者?
  4. 使用雲端的託管資料庫服務(由業者營運資料庫軟體的服務)。依共同責任模型的想法,一般仍屬於使用者責任的是下列何者?
  5. 在雲端中,把 Web 伺服器與資料庫的複本分散放在同一區域(region)內的多個可用區域的主要目的,下列何者適當?