數量

本頁提供 Kubernetes 中的磁碟區總覽,並且概述磁碟區搭配 Google Kubernetes Engine 的用法。

總覽

應用程式寫入資料時最方便的位置是容器中的磁碟上檔案,但這種做法有其缺點。首先,只要容器基於任何原因當機或停止,檔案就會遺失。其次,在同一個 Pod 中執行的容器無法存取其他容器內的檔案。Kubernetes 磁碟區抽象層可解決這兩個問題。

磁碟區在概念上是一個目錄,可供 Pod 中的所有容器存取。Pod 規格裡宣告的磁碟區來源決定了目錄的建立方式、使用的儲存媒體以及目錄的初始內容。Pod 會指出它包含了哪些磁碟區以及容器掛接磁碟區的路徑。

「暫時磁碟區」類型與其所屬的 Pod 具有相同的生命週期。這類磁碟區會在 Pod 建立時隨之建立,即使容器重新啟動,磁碟區還是會續存下來。當 Pod 終止或遭刪除時,其磁碟區也會跟著終止或遭到刪除。

「其他磁碟區」類型是連至耐用儲存空間,獨立於 Pod 的介面。有別於暫時磁碟區,耐用儲存空間支援的磁碟區中的資料在 Pod 移除後仍舊會保留下來。系統只會卸載這類磁碟區,並將資料傳給另一個 Pod。您應使用 PersistentVolume 資源來管理耐用儲存空間類型的生命週期,不應直接指定。

磁碟區類型

各磁碟區的儲存空間實作及其初始內容各有不同。您可以針對您的用途,選擇最適合的磁碟區來源。以下列出一些常見的磁碟區來源:

emptyDir
暫時磁碟區類型,提供空白目錄讓 Pod 中的容器讀取及寫入。基於任何理由從節點移除 Pod 時,emptyDir 裡的資料也會遭到永久刪除。emptyDirs 很適合做為塗銷空間,以及在 Pod 中的多個容器之間共用資料。
configMap
用於讓應用程式存取設定資料。configMap 磁碟區裡的檔案是由 ConfigMap 資源指定。
secret
用於讓應用程式使用機密資料,例如密碼、OAuth 憑證和 SSH 金鑰等。
downwardAPI
用於讓應用程式使用 Downward API 資料。這類資料包括執行應用程式的 Pod 和容器的相關資訊。例如,您可將 Pod 設成公開 DownwardAPIVolumeFile 給應用程式,當中包括 Pod 的命名空間和 IP 位址。
persistentVolumeClaim
叢集運算子可佈建應用程式使用的耐用儲存空間。Pod 會使用 PersistentVolumeClaim 掛接此耐用儲存空間支援的磁碟區。

如需磁碟區類型的完整清單,請參閱 Kubernetes 磁碟區說明文件

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件