pv和pvc存儲(chǔ)卷
存儲(chǔ)卷:
emptyDir容器內(nèi)部,隨著pod銷毀,emptyDir也會(huì)消失,不能做數(shù)據(jù)持久化
hostPath:持久化存儲(chǔ)數(shù)據(jù),可以和節(jié)點(diǎn)上目錄做掛載。pod被銷毀了數(shù)據(jù)還在
NFS:一臺(tái)機(jī)器,提供pod內(nèi)容器所有的掛載點(diǎn)
pv和pvc:
pvc就是pod發(fā)起得掛載得請(qǐng)求
pv:持久化存儲(chǔ)得目錄,ReadWriteMany ??ReadOnlyMany ??ReadWriteOnce
NFS支持三種方式
hostPath只支持ReadWriteOnce
ISCSI不支持ReadWriteMany
pv的回收策略:Retain ?默認(rèn) released需要人工設(shè)置,調(diào)整回Available
??????????????Recycle ?回收,自動(dòng)調(diào)回Available
??????????????Delete ?刪除
靜態(tài)pv和pvc的用法:
運(yùn)維負(fù)責(zé)pv:創(chuàng)建好持久化存儲(chǔ)卷,聲明好讀寫和掛載類型,以及可以提供的存儲(chǔ)空間
開發(fā)負(fù)責(zé)pvc:要和開發(fā)溝通好你期望的讀寫和掛載類型以及存儲(chǔ)空間
當(dāng)我發(fā)布pvc之后,可以生成pv,還可以在共享服務(wù)器上直接生成掛載目錄
pvc直接綁定和使用pv
動(dòng)態(tài)pv需要兩個(gè)組件:
1、卷插件Provisioner(存儲(chǔ)分配器)
K8S本身支持的動(dòng)態(tài)pv創(chuàng)建不包括NFS,需要聲明和安裝一個(gè)外部插件Provisioner(存儲(chǔ)分配器)
Provisioner可以動(dòng)態(tài)創(chuàng)建pv,然后根據(jù)pvc的請(qǐng)求自動(dòng)綁定和使用
2、StorageClass
定義pv的屬性,包括存儲(chǔ)類型、大小、回收策略等等
NFS實(shí)現(xiàn)動(dòng)態(tài)pv
NFS支持的方式NFS-client,先搞定Provisioner,來(lái)適配NFS-client
nfs-client-provisioner卷插件
serviceAccount:
NFS PRovisioner: 是一個(gè)插件,沒(méi)有權(quán)限是無(wú)法再集群當(dāng)中獲取k8s的消息,插件要有權(quán)限能夠監(jiān)聽apiserver,獲取get,list獲取集群的列表資源)create delete
rbac: Role-based ACCESS CONTROL
定義角色在集群當(dāng)中可以使用的權(quán)限
角色 權(quán)限都已經(jīng)創(chuàng)建完畢
部署插件:
NFs -privisioner。deplpyment來(lái)創(chuàng)建插件 pod
1.20之后有一個(gè)新的機(jī)制:selfLink
selfLink:API的資源對(duì)象之一,表示資源對(duì)象在集群當(dāng)中自身的一個(gè)連接,selef-link是一個(gè)唯一標(biāo)識(shí)符號(hào),可以用于識(shí)別K8S集群當(dāng)中每個(gè)資源的對(duì)象
self lonk的值是一個(gè)URL,指向該資源的對(duì)象的K8S ?api的路徑
更好的實(shí)現(xiàn)資源對(duì)象的查找和引用
feature-gates=RemoveSelfLink=false
feature-gates: 在不破壞現(xiàn)有規(guī)則以及功能基礎(chǔ)上引入新功能或者修改現(xiàn)有功能的機(jī)制。
禁用不影響之前的規(guī)則。
部署nfs-provisioner的插件:
nfs的provisioner的客戶端已pod的方式運(yùn)行在集當(dāng)中,監(jiān)聽k8s集聯(lián)當(dāng)中pv的請(qǐng)求。動(dòng)態(tài)的創(chuàng)建于NFS服務(wù)器相關(guān)的pv
容器里使用的配置,在provisioner當(dāng)中定義好環(huán)境變量,傳給容器。storageClass的名稱、NFS服務(wù)器的地址、NFS的目錄
動(dòng)態(tài)pv的默認(rèn)策略是刪除。delete
總結(jié): 動(dòng)態(tài)pv
provisioner插件------支持nfs 創(chuàng)建pv目錄
stroageclass: 定義pv的屬性動(dòng)態(tài)
pv的默認(rèn)策略是刪除
動(dòng)態(tài)策略沒(méi)有回收
動(dòng)態(tài)pv刪除pvc之后的狀態(tài),released
1、創(chuàng)建賬號(hào),給卷插件能狗在集群內(nèi)部通信,獲取資源,監(jiān)聽事件,創(chuàng)建,刪除,更新pv
2、創(chuàng)建卷插件pod,卷插件的pod創(chuàng)建pv
3、storageclass: 給pv賦予屬性 (pvc被刪除之后pv的狀態(tài),以及回收策略)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-818047.html
4、創(chuàng)建pvc-------完成文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-818047.html
到了這里,關(guān)于K8S動(dòng)態(tài)PV的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!