kubernete基礎(chǔ)組件之-存儲(chǔ)

Volume(數(shù)據(jù)卷)概述


Kubernetes Volume(數(shù)據(jù)卷)主要解決了如下兩方面問(wèn)題:

  • 數(shù)據(jù)持久性:通常情況下,容器運(yùn)行起來(lái)之后,寫入到其文件系統(tǒng)的文件暫時(shí)性的。當(dāng)容器崩潰后,kubelet 將會(huì)重啟該容器,此時(shí)原容器運(yùn)行后寫入的文件將丟失,因?yàn)槿萜鲗⒅匦聫溺R像創(chuàng)建。
  • 數(shù)據(jù)共享:同一個(gè) Pod(容器組)中運(yùn)行的容器之間,經(jīng)常會(huì)存在共享文件/文件夾的需求
    Docker 里同樣也存在一個(gè) volume(數(shù)據(jù)卷)的概念,但是 docker 對(duì)數(shù)據(jù)卷的管理相對(duì) kubernetes 而言要更少一些。在 Docker 里,一個(gè) Volume(數(shù)據(jù)卷)僅僅是宿主機(jī)(或另一個(gè)容器)文件系統(tǒng)上的一個(gè)文件夾。Docker 并不管理 Volume(數(shù)據(jù)卷)的生命周期。

在 Kubernetes 里,Volume(數(shù)據(jù)卷)存在明確的生命周期(與包含該數(shù)據(jù)卷的容器組相同)。因此,Volume(數(shù)據(jù)卷)的生命周期比同一容器組中任意容器的生命周期要更長(zhǎng),不管容器重啟了多少次,數(shù)據(jù)都能被保留下來(lái)。當(dāng)然,如果容器組退出了,數(shù)據(jù)卷也就自然退出了。此時(shí),根據(jù)容器組所使用的 Volume(數(shù)據(jù)卷)類型不同,數(shù)據(jù)可能隨數(shù)據(jù)卷的退出而刪除,也可能被真正持久化,并在下次容器組重啟時(shí)仍然可以使用。

從根本上來(lái)說(shuō),一個(gè) Volume(數(shù)據(jù)卷)僅僅是一個(gè)可被容器組中的容器訪問(wèn)的文件目錄(也許其中包含一些數(shù)據(jù)文件)。這個(gè)目錄是怎么來(lái)的,取決于該數(shù)據(jù)卷的類型(不同類型的數(shù)據(jù)卷使用不同的存儲(chǔ)介質(zhì))。

使用 Volume(數(shù)據(jù)卷)時(shí),我們需要先在容器組中定義一個(gè)數(shù)據(jù)卷,并將其掛載到容器的掛載點(diǎn)上。容器中的一個(gè)進(jìn)程所看到(可訪問(wèn))的文件系統(tǒng)是由容器的 docker 鏡像和容器所掛載的數(shù)據(jù)卷共同組成的。Docker 鏡像將被首先加載到該容器的文件系統(tǒng),任何數(shù)據(jù)卷都被在此之后掛載到指定的路徑上。Volume(數(shù)據(jù)卷)不能被掛載到其他數(shù)據(jù)卷上,或者通過(guò)引用其他數(shù)據(jù)卷。同一個(gè)容器組中的不同容器各自獨(dú)立地掛載數(shù)據(jù)卷,即同一個(gè)容器組中的兩個(gè)容器可以將同一個(gè)數(shù)據(jù)卷掛載到各自不同的路徑上。

容器組、容器、掛載點(diǎn)、數(shù)據(jù)卷、存儲(chǔ)介質(zhì)(nfs、PVC、ConfigMap)等幾個(gè)概念之間的關(guān)系:


image.png
  • 一個(gè)容器組可以包含多個(gè)數(shù)據(jù)卷、多個(gè)容器
  • 一個(gè)容器通過(guò)掛載點(diǎn)決定某一個(gè)數(shù)據(jù)卷被掛載到容器中的什么路徑
  • 不同類型的數(shù)據(jù)卷對(duì)應(yīng)不同的存儲(chǔ)介質(zhì)(圖中列出了 nfs、PVC、ConfigMap 三種存儲(chǔ)介質(zhì),接下來(lái)將介紹更多)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容