摘要:的本身是無狀態(tài)的生命周期通常比較短,只要出現(xiàn)了異常,就會自動創(chuàng)建一個新的來代替它。為了實現(xiàn)內(nèi)數(shù)據(jù)的存儲管理,引入了兩個資源持久卷,以下簡稱和持久卷申請,以下簡稱。跟里的卷類似,不過會有獨立于的生命周期。
Kubernetes的pod本身是無狀態(tài)的(stateless),生命周期通常比較短,只要出現(xiàn)了異常,Kubernetes就會自動創(chuàng)建一個新的Pod來代替它。
而容器產(chǎn)生的數(shù)據(jù),會隨著Pod消亡而自動消失。
為了實現(xiàn)Pod內(nèi)數(shù)據(jù)的存儲管理,Kubernetes引入了兩個API資源:Persistent Volume(持久卷,以下簡稱PV)和Persistent Volume Claim(持久卷申請,以下簡稱PVC)。
PV是Kubernetes集群中的一種網(wǎng)絡存儲實現(xiàn),跟Node一樣,也是屬于集群的資源。
PV跟Docker里的Volume(卷)類似,不過會有獨立于Pod的生命周期。
使用kubectl get pv查看列表:
而PVC是用戶的一個請求,跟Pod類似。Pod消費Node的資源,PVC消費PV的資源。
Pod 能夠申請?zhí)囟ǖ馁Y源(CPU和內(nèi)存);PVC能夠申請?zhí)囟ǖ某叽绾驮L問模式,例如可以加載一個讀寫實例或者多個只讀實例,(就是上圖kubectl get pvc返回結果的Access Mode這一列的值RWO, ROX等等)而無須感知這些實例背后具體的存儲實現(xiàn)。
我們來看一個具體的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創(chuàng)建這個yaml文件定義的persistent volume claim:
然后定義一個pod,消費這個名為nginx-pvc的persistent volume claim:
使用kubectl describe pvc nginx-pvc查看這個persistent volume claim對應生成的persistent volume:
現(xiàn)在我用命令kubectl cp train.jpg nginx-storage-pod:/usr/share/nginx/html將兩個文件train.jpg和index.html文件拷貝到pod內(nèi)部文件路徑/usr/share/nginx/html下面:
現(xiàn)在切換到nginx-storage-pod pod里,在/usr/share/nginx/html目錄下果然發(fā)現(xiàn)了這兩個文件:
接下來我定義了另一個pod,同樣適用nginx-pvc這個PVC:
創(chuàng)建完這個pod之后,then kubectl exec -ti another ash 進入pod內(nèi)部/usr/share/nginx/html,同樣發(fā)現(xiàn)了index.html和train.jpg.
這個例子說明persistent volume claim能夠用于在多個pod間共享持久化數(shù)據(jù)。
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33086.html
摘要:的本身是無狀態(tài)的生命周期通常比較短,只要出現(xiàn)了異常,就會自動創(chuàng)建一個新的來代替它。為了實現(xiàn)內(nèi)數(shù)據(jù)的存儲管理,引入了兩個資源持久卷,以下簡稱和持久卷申請,以下簡稱。跟里的卷類似,不過會有獨立于的生命周期。 Kubernetes的pod本身是無狀態(tài)的(stateless),生命周期通常比較短,只要出現(xiàn)了異常,Kubernetes就會自動創(chuàng)建一個新的Pod來代替它。 而容器產(chǎn)生的數(shù)據(jù),會隨著...
摘要:的本身是無狀態(tài)的生命周期通常比較短,只要出現(xiàn)了異常,就會自動創(chuàng)建一個新的來代替它。為了實現(xiàn)內(nèi)數(shù)據(jù)的存儲管理,引入了兩個資源持久卷,以下簡稱和持久卷申請,以下簡稱。跟里的卷類似,不過會有獨立于的生命周期。 Kubernetes的pod本身是無狀態(tài)的(stateless),生命周期通常比較短,只要出現(xiàn)了異常,Kubernetes就會自動創(chuàng)建一個新的Pod來代替它。 而容器產(chǎn)生的數(shù)據(jù),會隨著...
摘要:作者,高級軟件工程師實施的容器存儲接口已在版本中升級為。功能受棄用政策保護。隨著容器存儲接口的采用,卷層變得真正可擴展。年中國論壇提案征集現(xiàn)已開放論壇讓用戶開發(fā)人員從業(yè)人員匯聚一堂,面對面進行交流合作。 showImg(https://segmentfault.com/img/bVbnBe1?w=620&h=340); 作者:Saad Ali,Google高級軟件工程師 Kuberne...
摘要:作者,高級軟件工程師實施的容器存儲接口已在版本中升級為。功能受棄用政策保護。隨著容器存儲接口的采用,卷層變得真正可擴展。年中國論壇提案征集現(xiàn)已開放論壇讓用戶開發(fā)人員從業(yè)人員匯聚一堂,面對面進行交流合作。 showImg(https://segmentfault.com/img/bVbnBe1?w=620&h=340); 作者:Saad Ali,Google高級軟件工程師 Kuberne...
摘要:如果我們的容器使用,文件如下在這個例子中,我們可以重復創(chuàng)建和銷毀,同一個持久存儲會被提供給新的,無論容器位于哪個節(jié)點上。 前言 臨時性存儲是容器的一個很大的買點。根據(jù)一個鏡像啟動容器,隨意變更,然后停止變更重啟一個容器。你看,一個全新的文件系統(tǒng)又誕生了。 在docker的語境下: # docker run -it centos [root@d42876f95c6a /]# echo H...
閱讀 3043·2021-09-03 10:33
閱讀 1270·2019-08-30 15:53
閱讀 2618·2019-08-30 15:45
閱讀 3379·2019-08-30 14:11
閱讀 527·2019-08-30 13:55
閱讀 2582·2019-08-29 15:24
閱讀 1906·2019-08-26 18:26
閱讀 3558·2019-08-26 13:41