雲端與容器基礎

在 Kubernetes 中,指定 replicas: 3 的 Deployment 有3個 Pod 在執行。以 kubectl delete pod 刪除其中1個 Pod 時發生的事,下列何者正確?

  1. ADeployment 的設定也會改寫成 replicas: 2,Pod 維持2個繼續執行
  2. B控制器偵測到實際數量少於指定的3個,並建立1個新的 Pod
  3. C屬於該 Deployment 的另外2個 Pod 也會被刪除,整個 Deployment 停止
查看答案與解析

正確答案:B. 控制器偵測到實際數量少於指定的3個,並建立1個新的 Pod

在 Kubernetes 中,使用者宣告「執行3個 Pod」這樣的期望狀態,控制器則反覆觀察實際狀態,若有差異就進行操作使其接近宣告(調和,reconcile)。刪除1個 Pod 後實際數量變成2,因此 ReplicaSet 的控制器會建立新的 Pod 回到3個。因節點故障而失去 Pod 時,也會以同樣的機制在其他節點上重新建立 Pod。真正想減少 Pod 數量時,不是刪除 Pod,而是變更 Deployment 的 replicas。

  • A. 刪除 Pod 不會改變 Deployment 中宣告的 replicas。會建立 Pod 來補足與宣告的差距。
  • B. 正確。控制器會補足宣告狀態與實際狀態之間的差異。
  • C. 只有被刪除的 Pod 受影響。只要不刪除 Deployment,其他 Pod 會繼續執行。
練習這個領域 前往領域頁面

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

  1. 在 Kubernetes 的 Deployment 中,把 Pod 範本中的容器映像檔改成新版本。在預設的更新方式(RollingUpdate)下發生的事,下列何者正確?
  2. 在 replicas: 10 的 Deployment 中,把滾動更新的設定設為 maxSurge: 25%、maxUnavailable: 25%。更新途中 Pod 總數的上限與可用 Pod 數的下限,其組合下列何者正確?
  3. 在 Kubernetes 中,Pod 每次重新建立時IP位址都會改變。讓其他應用程式能以不變的名稱與位址,連線到以標籤選出的多個 Pod 並分散負載的資源,是下列何者?
  4. 在 Kubernetes 叢集中,希望把到達同一個主機名稱的 HTTPS 要求中,路徑以 /api 開頭的分配給 api 的 Service,其他的分配給 web 的 Service。適合用來訂定這個分配規則的資源是下列何者?
  5. 把資料庫的密碼存放在 Kubernetes 的 Secret 中。關於 Secret 的說明,下列何者正確?