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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

工作日志——k8s pvpvc

發(fā)布時(shí)間:2025/3/19 c/c++ 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工作日志——k8s pvpvc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

近期調(diào)研了k8s pv和pvc相關(guān)知識(shí),特與大家分享

簡介

PersistentVolume(pv)和PersistentVolumeClaim(pvc)是k8s提供的兩種API資源,用于抽象存儲(chǔ)細(xì)節(jié)。管理員關(guān)注于如何通過pv提供存儲(chǔ)功能而無需關(guān)注用戶如何使用,同樣的用戶只需要掛載pvc到容器中而不需要關(guān)注存儲(chǔ)卷采用何種技術(shù)實(shí)現(xiàn)。

pvc和pv的關(guān)系與pod和node關(guān)系類似,前者消耗后者的資源。pvc可以向pv申請指定大小的存儲(chǔ)資源并設(shè)置訪問模式。

生命周期

pv和pvc遵循以下生命周期:

  • 供應(yīng)準(zhǔn)備。管理員在集群中創(chuàng)建多個(gè)pv供用戶使用。
  • 綁定。用戶創(chuàng)建pvc并指定需要的資源和訪問模式。在找到可用pv之前,pvc會(huì)保持未綁定狀態(tài)。
  • 使用。用戶可在pod中像volume一樣使用pvc。
  • 釋放。用戶刪除pvc來回收存儲(chǔ)資源,pv將變成“released”狀態(tài)。由于還保留著之前的數(shù)據(jù),這些數(shù)據(jù)需要根據(jù)不同的策略來處理,否則這些存儲(chǔ)資源無法被其他pvc使用。
  • 回收。pv可以設(shè)置三種回收策略:保留(Retain),回收(Recycle)和刪除(Delete)。?
    • 保留策略允許人工處理保留的數(shù)據(jù)。
    • 刪除策略將刪除pv和外部關(guān)聯(lián)的存儲(chǔ)資源,需要插件支持。
    • 回收策略將執(zhí)行清除操作,之后可以被新的pvc使用,需要插件支持。

pv類型

pv支持以下類型:

  • GCEPersistentDisk
  • AWSElasticBlockStore
  • NFS
  • iSCSI
  • RBD (Ceph Block Device)
  • Glusterfs
  • HostPath (single node testing only – local storage is not supported in any way and WILL NOT WORK in a multi-node cluster)

pv屬性

pv擁有以下屬性:

  • 容量。目前僅支持存儲(chǔ)大小,未來可能支持IOPS和吞吐量等。
  • 訪問模式。ReadWriteOnce:單個(gè)節(jié)點(diǎn)讀寫。ReadOnlyMany:多節(jié)點(diǎn)只讀。ReadWriteMany:多節(jié)點(diǎn)讀寫。掛載時(shí)只能使用一種模式。
  • 回收策略。目前NFS和HostPath支持回收。 AWS、EBS、GCE、PD和Cinder支持刪除。
  • 階段。分為Available(未綁定pvc)、Bound(已綁定)、Released(pvc已刪除但資源未回收)、Failed(自動(dòng)回收失敗)

pvc屬性

  • 訪問模式。與pv的語義相同。在請求資源時(shí)使用特定模式。
  • 資源。申請的存儲(chǔ)資源數(shù)量

nfs示例

安裝nfs服務(wù)

以u(píng)buntu為例,執(zhí)行以下指令安裝nfs server;

sudo apt-get install nfs-kernel-server
  • 1

安裝后修改/etc/exports,在文件末尾添加以下內(nèi)容:

/ *(rw,insecure,no_root_squash)
  • 1

重啟nfs server:

$ sudo service rpcbind restart rpcbind stop/waiting rpcbind start/running, process 10558$ sudo service nfs-kernel-server restart* Stopping NFS kernel daemon [ OK ] * Unexporting directories for NFS kernel daemon... [ OK ] * Exporting directories for NFS kernel daemon... exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/".Assuming default behaviour ('no_subtree_check').NOTE: this default has changed since nfs-utils version 1.0.x[ OK ]* Starting NFS kernel daemon [ OK ]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

pv和pvc創(chuàng)建與使用

本例中使用的yaml可參考這里

  • 首先創(chuàng)建pv和pvc
  • 2.
  • $ kubectl create -f nfs-pv.yaml persistentvolume "nfs" created$ kubectl create -f nfs-pvc.yaml persistentvolumeclaim "nfs" created
    • 1
    • 2
    • 3
    • 4
    • 5
  • 接下來創(chuàng)建nfs-busybox rc。對應(yīng)的pod會(huì)向存儲(chǔ)卷中不定期的更新index.html
  • $ kubectl create -f nfs-busybox-rc.yaml replicationcontroller "nfs-busybox" created
    • 1
    • 2
  • 再創(chuàng)建nfs-web rc和service。對應(yīng)的pod會(huì)將存儲(chǔ)卷掛載到nginx的靜態(tài)目錄中,這樣我們可以通過service來訪問index.html。
  • $ kubectl create -f nfs-web-rc.yaml replicationcontroller "nfs-web" created$ kubectl create -f nfs-web-service.yaml service "nfs-web" created
    • 1
    • 2
    • 3
    • 4
    • 5
  • 查看結(jié)果。可以看到index.html會(huì)不定期的更新顯示時(shí)間。
  • # 查看nfs-web的ip $ kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.0.0.1 <none> 443/TCP 9h nfs-web 10.0.0.18 <none> 80/TCP 2m# 訪問nfs-web $ curl 10.0.0.18 Tue May 24 11:40:53 UTC 2016 nfs-busybox-c2vf2$ curl 10.0.0.18 Tue May 24 11:40:59 UTC 2016 nfs-busybox-c2vf2

    轉(zhuǎn)載于:https://my.oschina.net/xiaominmin/blog/1631454

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的工作日志——k8s pvpvc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。