雲端與容器基礎

把資料庫的密碼存放在 Kubernetes 的 Secret 中。關於 Secret 的說明,下列何者正確?

  1. A放入 Secret 的值會自動以強力密碼加密,因此叢集內不論誰讀取,都無法得知原本的密碼
  2. BSecret 的值無法從容器參照,因此密碼必須寫在映像檔內的設定檔中
  3. C值在預設下只是以 Base64 表示,並不是加密,因此要同時限制可讀取的使用者並使用儲存時的加密
查看答案與解析

正確答案:C. 值在預設下只是以 Base64 表示,並不是加密,因此要同時限制可讀取的使用者並使用儲存時的加密

Secret 是把密碼、API 金鑰等機密值與映像檔及 Pod 定義分開管理,並以環境變數或檔案的形式傳給容器的資源。不過,寫在資訊清單(manifest)中的值只是以 Base64 表示,任何人都能還原。而且在預設下,會以未加密的狀態存放在儲存叢集資訊的 etcd 中。因此要同時採取以 RBAC 限縮可讀取 Secret 的使用者、啟用 etcd 儲存時的加密等對策。

  • A. Base64 是編碼,不是加密。只要有讀取權限,任何人都能還原成原本的值。
  • B. Secret 可以作為環境變數或檔案傳給容器。把密碼寫在映像檔中,能拉取映像檔的人就會知道。
  • C. 正確。Base64 不是加密,因此要與權限限制及儲存時的加密搭配使用。
練習這個領域 前往領域頁面

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

  1. 某個 Web 應用程式在啟動後到讀取完快取的約60秒內無法處理要求,這段期間對 /ready 回傳503。在 Pod 的容器加上上面的設定時,其效果下列何者正確?
  2. 在 Kubernetes 上的 Web 應用程式中,讓 liveness 探測的檢查處理連相依的資料庫能否連線都一併檢查。這個設定可能發生的問題,下列何者最適當?
  3. 在 Kubernetes 的 HorizontalPodAutoscaler 中,把 Pod 的CPU使用率目標設為70%,Pod 數的範圍設為1~10。目前5個 Pod 的平均CPU使用率為30%。以 ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉(⌈ ⌉ 為無條件進位)求所需 Pod 數時,所需的 Pod 數為下列何者?
  4. 在 Pod 的容器做了上面設定的 Deployment 中,有4個 Pod 在執行,每個 Pod 都使用400m(0.4核心)的CPU。HorizontalPodAutoscaler 的CPU使用率目標為60%,所需 Pod 數以 ⌈目前數量 × 目前使用率 ÷ 目標使用率⌉ 求得。所需的 Pod 數為下列何者?
  5. 在 Kubernetes 中,關於為容器設定的資源 requests 與 limits,下列何者正確?