Volume

      網(wǎng)友投稿 707 2025-03-31

      容器中的文件在磁盤(pán)上是臨時(shí)存放的,當(dāng)容器重建時(shí),容器中的文件將會(huì)丟失,另外當(dāng)在一個(gè)Pod中同時(shí)運(yùn)行多個(gè)容器時(shí),常常需要在這些容器之間共享文件,這也是容器不好解決的問(wèn)題。 Kubernetes抽象出了Volume來(lái)解決這兩個(gè)問(wèn)題,也就是存儲(chǔ)卷,Kubernetes的Volume是Pod的一部分,Volume不是單獨(dú)的對(duì)象,不能獨(dú)立創(chuàng)建,只能在Pod中定義。

      Pod中的所有容器都可以訪問(wèn)Volume,但必須要掛載,且可以?huà)燧d到容器中任何目錄。

      實(shí)際中使用容器存儲(chǔ)如下圖所示,將容器的內(nèi)容掛載到Volume中,通過(guò)Volume兩個(gè)容器間實(shí)現(xiàn)了存儲(chǔ)共享。

      Volume的生命周期與掛載它的Pod相同,但是Volume里面的文件可能在Volume消失后仍然存在,這取決于Volume的類(lèi)型。

      Kubernetes的Volume有非常多的類(lèi)型,在實(shí)際使用中使用最多的類(lèi)型如下。

      emptyDir:一種簡(jiǎn)單的空目錄,主要用于臨時(shí)存儲(chǔ)。

      hostPath:將主機(jī)某個(gè)目錄掛載到容器中。

      ConfigMap、Secret:特殊類(lèi)型,將Kubernetes特定的對(duì)象類(lèi)型掛載到Pod,在ConfigMap和Secret章節(jié)介紹過(guò)如何將ConfigMap和Secret掛載到Volume中。

      persistentVolumeClaim:Kubernetes的持久化存儲(chǔ)類(lèi)型,詳細(xì)介紹請(qǐng)參考PV、PVC和StorageClass中會(huì)詳細(xì)介紹。

      EmptyDir是最簡(jiǎn)單的一種Volume類(lèi)型,根據(jù)名字就能看出,這個(gè)Volume掛載后就是一個(gè)空目錄,應(yīng)用程序可以在里面讀寫(xiě)文件,emptyDir Volume的生命周期與Pod相同,Pod刪除后Volume的數(shù)據(jù)也同時(shí)刪除掉。

      emptyDir的一些用途:

      緩存空間,例如基于磁盤(pán)的歸并排序。

      為耗時(shí)較長(zhǎng)的計(jì)算任務(wù)提供檢查點(diǎn),以便任務(wù)能從崩潰前狀態(tài)恢復(fù)執(zhí)行。

      emptyDir配置示例如下。

      apiVersion:?v1 kind:?Pod metadata: ??name:?nginx spec: ??containers: ??-?image:?nginx:alpine ????name:?test-container ????volumeMounts: ????-?mountPath:?/cache ??????name:?cache-volume ??volumes: ??-?name:?cache-volume????emptyDir:?{}

      emptyDir實(shí)際是將Volume的內(nèi)容寫(xiě)在Pod所在節(jié)點(diǎn)的磁盤(pán)上,另外emptyDir也可以設(shè)置存儲(chǔ)介質(zhì)為內(nèi)存,如下所示,medium設(shè)置為Memory。

      volumes: ??-?name:?html ????emptyDir: ??????medium:?Memory

      HostPath是一種持久化存儲(chǔ),emptyDir里面的內(nèi)容會(huì)隨著Pod的刪除而消失,但HostPath不會(huì),如果對(duì)應(yīng)的Pod刪除,HostPath Volume里面的內(nèi)容依然存在于節(jié)點(diǎn)的目錄中,如果后續(xù)重新創(chuàng)建Pod并調(diào)度到同一個(gè)節(jié)點(diǎn),掛載后依然可以讀取到之前Pod寫(xiě)的內(nèi)容。

      HostPath存儲(chǔ)的內(nèi)容與節(jié)點(diǎn)相關(guān),所以它不適合像數(shù)據(jù)庫(kù)這類(lèi)的應(yīng)用,想象下如果數(shù)據(jù)庫(kù)的Pod被調(diào)度到別的節(jié)點(diǎn)了,那讀取的內(nèi)容就完全不一樣了。

      記住永遠(yuǎn)不要使用HostPath存儲(chǔ)跨Pod的數(shù)據(jù),一定要把HostPath的使用范圍限制在讀取節(jié)點(diǎn)文件上,這是因?yàn)镻od被重建后不確定會(huì)調(diào)度哪個(gè)節(jié)點(diǎn)上,寫(xiě)文件可能會(huì)導(dǎo)致前后不一致。

      Volume

      apiVersion:?v1 kind:?Pod metadata: ??name:?test-hostpath spec: ??containers: ??-?image:?nginx:alpine ????name:?hostpath-container ????volumeMounts: ????-?mountPath:?/test-pd ??????name:?test-volume ??volumes: ??-?name:?test-volume????hostPath: ??????path:?/data

      了解更多Kubernetes集群相關(guān)知識(shí)和使用方法請(qǐng)猛擊這里。

      Kubernetes

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【華為全聯(lián)接2021】Day2精彩回顧:七大創(chuàng)新數(shù)字基礎(chǔ)設(shè)施、11大場(chǎng)景化解決方案、城市智能體系列解決方案等重磅發(fā)布
      下一篇:如何在wps頁(yè)面外邊添加圖案和頁(yè)碼(wps如何在中間頁(yè)添加頁(yè)碼)
      相關(guān)文章
      亚洲 欧洲 自拍 另类 校园| 亚洲熟女www一区二区三区| 亚洲国产精品美女久久久久| 亚洲国产成人精品无码区在线网站 | 亚洲午夜久久久久久久久电影网| 亚洲精品偷拍视频免费观看| 亚洲国产高清精品线久久| 国产亚洲福利精品一区二区| 国产亚洲漂亮白嫩美女在线| 国产亚洲精品第一综合| 亚洲国产精品碰碰| 精品亚洲视频在线观看| 亚洲日本va在线视频观看| 亚洲精品国产字幕久久不卡| 国产av天堂亚洲国产av天堂| 久久精品国产精品亚洲艾草网| 亚洲av日韩av无码黑人| 99亚洲精品高清一二区| 亚洲冬月枫中文字幕在线看| 亚洲第一男人天堂| 亚洲AV色无码乱码在线观看| 一本色道久久88亚洲综合| 亚洲国产一区明星换脸| 亚洲日韩精品无码一区二区三区| 亚洲国产另类久久久精品| 亚洲视频在线视频| 亚洲大香伊人蕉在人依线| 久久亚洲精品国产精品婷婷 | 久久精品国产精品亚洲精品| 午夜亚洲www湿好大| 亚洲精品一卡2卡3卡三卡四卡| 亚洲一区二区三区深夜天堂| 亚洲性无码一区二区三区| 国产av无码专区亚洲av毛片搜 | 日本亚洲免费无线码 | 亚洲精品午夜无码专区| 亚洲国产女人aaa毛片在线| 亚洲国产精品网站久久| 亚洲男人的天堂网站| 亚洲VA综合VA国产产VA中| 亚洲欧洲国产精品香蕉网|