在K8s中,Pod臨時存儲指存儲在節點上的空間,用于臨時存放運行時的數據。通過配置臨時存儲額度,能夠避免單個Pod過度消耗磁盤空間,影響節點中其他Pod的性能。本文介紹在變更應用時如何配置Pod的臨時存儲預留量和限制量,確保合理分配和使用集群中的資源。
背景信息
在K8s中,臨時存儲(即Ephemeral Storage)是指與一個Pod綁定的短暫性磁盤存儲。它的生命周期與Pod保持一致。當Pod被刪除或遷移時,與其關聯的臨時存儲空間也會被釋放。因此,在臨時存儲空間存儲的數據不具備持久性。
如果Pod的臨時存儲沒有限制額度,可能導致部分容器很快將磁盤寫滿,進而影響節點其他Pod和節點本身的正常運行。為避免該情況,當節點磁盤資源不足時,節點Kubelet將驅逐某些Pod,以釋放資源,防止整個系統受到影響。
同時,K8s支持配置每個Pod可以使用的臨時存儲的預留量(Request)和限制量(Limit),確保分配給Pod的節點上有足夠的磁盤資源,防止磁盤資源被過度消耗。
預留量(Request):表示為該Pod分配的最小磁盤資源。當調度器(Scheduler)將Pod分配給節點時,它會確保節點上有足夠的可用臨時存儲以滿足Pod的請求。配置預留量(Request)可以確保Pod在分配到節點時有足夠的磁盤資源,從而避免因磁盤壓力而導致性能下降。
限制量(Limit):表示Pod可以使用的最大磁盤資源。當Pod臨時存儲的使用超過限制時,會受到磁盤驅逐(Eviction)的影響。配置限制量(Limit)可以避免Pod過度消耗磁盤資源,從而影響其他Pod或導致整個節點磁盤空間耗盡。
說明限制量(Limit)不能小于預留量(Request)。
使用場景
臨時存儲常用于以下場景:
存儲容器的文件系統。
存儲容器日志。
提供一個可共享的空目錄,以供多個容器使用(EmptyDir卷)。
操作步驟
您可在創建應用、部署應用以及變更規格時,為Pod配置臨時存儲額度。
請根據業務實際需求為Pod配置臨時存儲額度。如果您需要限額,請填寫具體的數字,使用默認值0則代表不限額。沒有配額限制,上限取決于集群性能。
創建應用
登錄EDAS控制臺。
在左側導航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間。
在應用列表頁面,單擊創建應用。
在應用基本信息頁簽,選擇集群類型為Kubernetes集群,然后單擊下一步。
在應用配置頁簽,配置單Pod資源配額的Ephemeral-Storage 資源預留(GB)和Ephemeral-Storage 資源限制(GB)。
部署應用
登錄EDAS控制臺。
在左側導航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間,然后在應用列表頁面單擊具體的應用名稱。
在應用總覽頁面右上角,選擇 。
選擇部署模式后,在發布頁面,配置單Pod資源配額的Ephemeral-Storage 資源預留(GB)和Ephemeral-Storage 資源限制(GB)。
變更規格
登錄EDAS控制臺。
在左側導航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間,然后在應用列表頁面單擊具體的應用名稱。
在應用總覽頁面的部署規格區域,單擊臨時存儲右側的圖標,在變更規格對話框,配置Ephemeral-Storage(GB)的資源預留和資源限制值。
相關文檔
創建或部署應用時,其他功能的參數配置,請參見使用默認應用來源創建K8s應用。