1. 程式人生 > 實用技巧 >K8s之儲存

K8s之儲存

第1章 儲存卷的概念

1.1 概述

Pod本身具有生命週期,故其內部執行的容器及其相關資料自身均無法持久存在。Docker支援配置容器使用儲存卷
將資料持久儲存於容器自身檔案系統之外的儲存空間中,它們可以是節點檔案系統或網路檔案系統之上的儲存空間。
相應地,Kubernetes也支援類似的儲存卷功能.不過,其儲存卷是與Pod資源繫結而非容器。簡單來說,儲存卷是定
義在Pod資源之上、可被其內部的所有容器掛載的共享目錄,它關聯至某外部的儲存裝置之上的儲存空間,從而獨立
於容器自身的檔案系統,而資料是否具有持久能力則取決於儲存卷自身是否支援持久機制。

1.2 Kubernetes支援的儲存卷型別

1) 命令檢視K8s支援的儲存卷型別
kubectl explain pod.spec.volumes
emptyDir與hostPath屬於節點級別的卷型別,emptyDir的生命週期與Pod資源相同,而使用了hostPath卷的Pod 一
旦被重新排程至其他節點,那麼它將無法再使用此前的資料。因此,這兩種型別都不具有永續性。要想使用持久型別的
儲存卷,就得使用網路儲存系統,如NFS、Ceph、GlusterFS等或者雲端儲存,如gcePersistentDisk、awsE!asticB!ockStore等
然而,網路儲存系統通常都不太容易使用,有的甚至很複雜,以至於對大多數使用者來說它是一個難以逾越的障礙。
Kubernetes為此專門設計了一種叢集級別的資源PersistentVolume(簡稱PV),它藉由管理員配置儲存系統,而後由使用者通過
"pers istentVolumeC!aim "(簡稱PVC)儲存卷直接申請使用的機制大大簡化了終端儲存使用者的配置過程,有效降低了使用難度!