Persistent Volumes API 概覽
(圖(′?`)片來(lái)源網(wǎng)絡(luò ),概覽侵刪)在Kubernetes中,概覽Persistent Vo??lumes (PV) 和 Persistent Volume Claims (PVC) 是概覽用于管理存儲的API對象,(?????)它們提供了一種靈活的概覽方式來(lái)解耦應用程序與特定存儲實(shí)現的細節,允許用戶(hù)按需請求存儲資源,概覽而無(wú)需關(guān)心底層的概覽存儲技術(shù)或提供商。
Persistent Volumes (PV)
Persiste??nt Volumes代表集群中的概覽物理存儲資源,它由管理員??創(chuàng )建,概覽或者通過(guò)StorageClass自動(dòng)生成,概覽每個(gè)PV?都有一系列屬性,概覽如容量、概覽訪(fǎng)問(wèn)模式(例如只讀??或讀寫(xiě))以及存儲類(lèi)別。概覽
動(dòng)態(tài)PV:通過(guò)Storage?????Class自動(dòng)創(chuàng )建,概覽當(′?ω?`)一個(gè)Persisten(′?`)t Volu(′_`)me Claim被創(chuàng )建時(shí),概覽如果沒(méi)有匹配的靜態(tài)PV,系統會(huì )根據定義的(?_?;)StorageClass自動(dòng)創(chuàng )建一個(gè)動(dòng)態(tài)PV。
Persistent Volume Claims (PVC)
Persistent Volume Claims是用戶(hù)對存儲資源的請求,用戶(hù)可以創(chuàng )建PVC來(lái)請求特定大小和訪(fǎng)問(wèn)模式的存儲,而無(wú)需了解具體的存儲實(shí)現,PVC可以指定類(lèi)(StorageClass),這決定了動(dòng)態(tài)供應的PV的特性。
Claiming Storage: PVC與PV之間通過(guò)一組標簽和注釋進(jìn)行匹配。
Using Storage: 一旦PVC被綁定到PVヾ(^-^)ノ,Pod就可以通過(guò)卷(Volume)使用這些存儲資源。
St(′▽?zhuān)?orageClass
StorageC??lass是描述存儲“類(lèi)”的API對象,它為動(dòng)態(tài)供應的PV定義了參數和性能特性,StorageClass可以定義不同的存儲后端??,比如本地存儲、網(wǎng)絡(luò )文件系統或云提供商的存儲服務(wù)。
Reclaim Policy
回收策略定義了當用戶(hù)刪除相應的Persistent Volume Claim后,Persistent Volume應該如何處理其上的數據。
Delete: 刪除卷上的所有數據。
Recycle: 清除卷上的數據以供新C??laim使用,適用于特定的場(chǎng)景和配置。
Persistent Volume支持多種ヽ(′▽?zhuān)?ノ訪(fǎng)問(wèn)模式,包括:
ReadWriteOnce (RWO):?? 卷可以被一個(gè)節點(diǎn)以讀寫(xiě)方式掛載。
readonly='readonly'Many (ROX)??: 卷可(ke)以被多個(gè)節(′?ω?`)點(diǎn)以只讀??方式掛載。
ReadWriteMany (RWX): 卷可以被多個(gè)節點(diǎn)以讀寫(xiě)方式掛載??。(需要特定的(′?ω?`)存儲插件支持)
Storage Types
Kubernetes支持多種類(lèi)型的存儲,包括但不限于:??(╬?益?)
Local storage: 利用節點(diǎn)的本地存儲設備。
Networked storage: 如NFS、iSCSI等。
Cloud st┐(′ー`)┌orage: 如AWS EBS、GC(╯°□°)╯︵ ┻━┻P PD、Azure Disk等。(′?_?`)
Monitoring and Events
API server: 提供事件的API接口。
Events API: 允許用戶(hù)查詢(xún)和訂閱事件通知。ヽ(′▽?zhuān)?ノ
Integration wit(?????)h Deployments and Stateful Applications
Pe??rsistent Volumes可以與Deployment和StatefulSets集成,為有(you)狀態(tài)應用提供持久化存儲。
Examples of Using Persistent Volumes
1、Static Provisioning: 管理員預先創(chuàng )建PV,用戶(hù)(′▽?zhuān)?)根??據需求創(chuàng )建PVC與之綁定。
2、Dynamic Provisionin(?⊿?)g: 用戶(hù)創(chuàng )建PVC時(shí)指定StorageCla??ss,系統自動(dòng)創(chuàng )建??匹配的PV。
3、Using with Stateful Applications: StatefulSets可以利用PVC為每個(gè)實(shí)例提供獨立的存儲。
<h3>FAQs</h3>
Q1: 如果一個(gè)Persistent Volume Claim無(wú)法找到匹配的Persistent Volume會(huì )發(fā)生什??么?
A??1: 如果一個(gè)Persistent Volume?? Claim無(wú)法找到匹配的靜態(tài)Persistent Volume,并且指定了(′▽?zhuān)?StorageClass,那么系統將嘗試根(gen)據StorageClass的配置動(dòng)態(tài)創(chuàng )建一個(gè)新的Persistent Volume,如果沒(méi)有指定StorageClass,或者無(wú)法動(dòng)態(tài)供應,那么該Persistent Volume Claim將保持在Pending狀態(tài),直到合適的Persistent Volume可用為止。
Q2: Persistent Volume的回收策略(Reclaim Policy)有哪些,它們各自的含義是什么???
A2: Persistent Volume的回收策略有三種:
Retain: 保留策略,當Persistent Volume Claim被刪除時(shí),Persistent Volume不會(huì )被自動(dòng)刪除,而是保留下來(lái),數據會(huì )保ヾ(′ω`)?留在卷上,管理??員可以手(′?ω?`)動(dòng)處理這些數據。
Delete: 刪除策略,當Persiste??n??t Vo??lume Claim被刪除時(shí),Persistent Volume也會(huì )被自動(dòng)刪除,卷上的數據將被清空。
Recycle: 回收策略,當Persistent Volume Clai(′▽?zhuān)?)m被刪除時(shí),Persistent Volume會(huì )被標記為可回收,數據會(huì )被清除,以便這個(gè)Persistent Vol(O_O)u??me可以快速地被重新聲明和使用,(′▽?zhuān)?這種策略要求特定的外置插件支持,并且可能需要一些(′?`)額外的配置。