日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法

發布時間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Kubernetes的pod本身是無狀態的(stateless),生命周期通常比較短,只要出現了異常,Kubernetes就會自動創建一個新的Pod來代替它。

而容器產生的數據,會隨著Pod消亡而自動消失。

為了實現Pod內數據的存儲管理,Kubernetes引入了兩個API資源:Persistent Volume(持久卷,以下簡稱PV)和Persistent Volume Claim(持久卷申請,以下簡稱PVC)。

PV是Kubernetes集群中的一種網絡存儲實現,跟Node一樣,也是屬于集群的資源。

PV跟Docker里的Volume(卷)類似,不過會有獨立于Pod的生命周期。

使用kubectl get pv查看列表:

而PVC是用戶的一個請求,跟Pod類似。Pod消費Node的資源,PVC消費PV的資源。

Pod 能夠申請特定的資源(CPU和內存);PVC能夠申請特定的尺寸和訪問模式,例如可以加載一個讀寫實例或者多個只讀實例,(就是上圖kubectl get pvc返回結果的Access Mode這一列的值RWO, ROX等等)而無須感知這些實例背后具體的存儲實現。

我們來看一個具體的PVC實例,名稱為nginx-pvc:

kind: PersistentVolumeClaim apiVersion: v1 metadata: name: nginx-pvc spec: storageClassName: default accessModes: - ReadOnlyMany resources: requests: storage: 1Gi

使用命令kubectl create -f pvc.yaml創建這個yaml文件定義的persistent volume claim:

然后定義一個pod,消費這個名為nginx-pvc的persistent volume claim:

使用kubectl describe pvc nginx-pvc查看這個persistent volume claim對應生成的persistent volume:

現在我用命令kubectl cp train.jpg nginx-storage-pod:/usr/share/nginx/html將兩個文件train.jpg和index.html文件拷貝到pod內部文件路徑/usr/share/nginx/html下面:

現在切換到nginx-storage-pod pod里,在/usr/share/nginx/html目錄下果然發現了這兩個文件:

接下來我定義了另一個pod,同樣適用nginx-pvc這個PVC:

創建完這個pod之后,then kubectl exec -ti another ash 進入pod內部/usr/share/nginx/html,同樣發現了index.html和train.jpg.

這個例子說明persistent volume claim能夠用于在多個pod間共享持久化數據。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。