K8s 1.27.1 實戰系列(十)PV PVC

一、核心概念與關系

?1、PV(Persistent Volume)?

PV 是集群中的持久化存儲資源,由管理員預先創建并配置,獨立于 Pod 生命周期。它抽象了底層存儲(如 NFS、云存儲等),定義存儲容量、訪問模式(如 ReadWriteOnce)、回收策略(Retain/Delete/Recycle)等屬性。例如,一個 NFS 存儲的 PV 可能包含服務器路徑和存儲容量信息。

示例:

apiVersion: v1
kind: PersistentVolume
metadata:name: my-pv
spec:capacity:storage: 10GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: RetainstorageClassName: nfsnfs:path: /data/nfsserver: 192.168.1.100

2、PVC(Persistent Volume Claim)?

PVC 是用戶對存儲資源的聲明,定義所需的容量、訪問模式等需求。Kubernetes 根據 PVC 自動匹配符合條件的 PV 并綁定,實現存儲與應用的解耦。例如,一個數據庫應用通過 PVC 申請 5Gi 的存儲空間。

示例: 

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: my-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5Gi

3、PV 與 PVC 的關系

  • ?靜態綁定:管理員手動創建 PV,用戶通過 PVC 申請時自動匹配。
  • 動態綁定:通過 StorageClass 動態生成 PV,無需預先配置。
  • 一對一綁定:一個 PVC 僅綁定一個 PV,PV 被占用后不可復用(除非釋放)。

二、生命周期與關鍵機制

?1、PV 生命周期

  • ?Provisioning:PV 可通過管理員靜態創建或由 StorageClass 動態生成。
  • Binding:PVC 匹配 PV 時觸發綁定,未匹配則 PVC 處于 Pending 狀態。
  • Usage:Pod 掛載 PVC 使用存儲資源,數據持久化至 PV。
  • Releasing:刪除 PVC 后,PV 根據回收策略處理(如保留數據或刪除存儲)。
  • RecyclingRetain 策略下需手動清理數據,Delete 策略自動銷毀底層存儲。

?2、訪問模式(Access Modes)?

  • ?ReadWriteOnce (RWO):單節點讀寫(如塊存儲)。
  • ?ReadOnlyMany (ROX):多節點只讀(如 NFS 共享配置文件)。
  • ?ReadWriteMany (RWX):多節點讀寫(如分布式文件系統)。

3、回收策略(persistentVolumeReclaimPolicy)

  • Retain:在 PVC 被刪除后,保留 PV 和其數據,手動清理 PV 中的數據。
  • Delete:在 PVC 被刪除后,自動刪除 PV 和其數據。
  • Recycle:在 PVC 被刪除后,通過刪除 PV 中的數據來準備 PV 以供重新使用。

persistentVolumeReclaimPolicy只適用于一些類型的 PV,如 NFS、HostPath、
iSCSI 等。對于一些云平臺提供的存儲,如 AWS EBS 和 Azure Disk,由于底層提供商會自動處理PV的回收問題,因此該屬性不適用。 

4、存儲分類(storageClassName)

  • 指定 PV 的class 為 nfs。相當于為 PV 設置了一個分類,PVC可以指定 class 申請相應class 的 PV。

三、靜態供應示例

1、創建PV池

nfs主節點:

mkdir -p /nfs/data/01
mkdir -p /nfs/data/02
mkdir -p /nfs/data/03

2、創建PV 

創建一個pv.yaml文件,內容如下:

apiVersion: v1
kind: Pers

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72242.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于DeepSeek的智能數據分析和自動化處理系統:引領BI行業新變革

近期,一款基于DeepSeek API的智能數據分析和自動化處理系統橫空出世,以其強大的功能和靈活的可擴展性,為BI行業帶來了顛覆性的變革。 該系統支持多類型數據分析,包括文本 、指標和日志等。在文本分析方面,它能夠提取關…

圖形學面試題總結

圖形學面試題總結 文章目錄 圖形學面試題總結Opengl 與 Vulkan1、OpenGL的渲染管線有哪些主要階段?分別做什么?2、OpenGL中的VAO、VBO和EBO分別是什么?為什么需要它們?3、細分著色器與幾何著色器是什么4、Vulkan與Opengl的區別是什…

Vue 系列之:路由

vue-router 組件 router-link 功能&#xff1a;用于導航&#xff0c;即渲染一個鏈接&#xff0c;當點擊時&#xff0c;導航到由 to 屬性指定的 URL。 示例&#xff1a;<router-link to"/home">Home</router-link> 它會渲染為一個 <a> 標簽&…

通過mybatis的攔截器對SQL進行打標

1、背景 在我們開發的過程中&#xff0c;一般需要編寫各種SQL語句&#xff0c;萬一生產環境出現了慢查詢&#xff0c;那么我們如何快速定位到底是程序中的那個SQL出現的問題呢&#xff1f; 2、解決方案 如果我們的數據訪問層使用的是mybatis的話&#xff0c;那么我們可以通過…

【Linux】centos配置可用的yum源

在 CentOS 系統中配置可用的 YUM 源&#xff08;倉庫&#xff09;是保持系統更新和軟件包管理的重要步驟。下面是一些步驟和示例&#xff0c;幫助你配置可用的 YUM 源&#xff1a; 1. 備份當前 YUM 倉庫配置 首先&#xff0c;備份你當前的 YUM 倉庫配置文件&#xff0c;以防萬…

【CentOS】搭建Radius服務器

目錄 背景簡介&#xff1a;Radius是什么&#xff1f;Radius服務器驗證原理搭建Radius服務器環境信息yum在線安裝配置FreeRADIUS相關文件clients.conf文件users文件重啟服務 驗證 參考鏈接 背景 在項目中需要用到Radius服務器作為數據庫代理用戶的外部驗證服務器&#xff0c;做…

機器學習_特征工程

一、核心知識點&#xff1a;特征工程的核心概念與流程 1. 特征工程的定義與重要性 定義&#xff1a;通過數據預處理、特征構造、特征選擇等方法&#xff0c;將原始數據轉化為更適合機器學習模型輸入的特征&#xff0c;提升模型性能。重要性&#xff1a; “數據和特征決定了機…

Elasticsearch Java High Level Client [7.17] 使用

es 的 HighLevelClient存在es源代碼的引用&#xff0c;結合springboot使用時&#xff0c;會存在es版本的沖突&#xff0c;這里記錄下解決沖突和使用方式&#xff08;es已經不建議使用這個了&#xff09;。 注意es服務端的版本需要與client的版本對齊&#xff0c;否則返回數據可…

rtsp在網頁上顯示(webrtc-stream)

一&#xff1a;windos 平臺 1&#xff1a;下載已經編譯好的windos平臺程序 Releases mpromonet/webrtc-streamer (github.com) or 【免費】webrtc-streamerv0.8.6一款werbrtc服務器&#xff08;windos版本&#xff09;&#xff0c;可以直接將rtsp流拉到網頁上顯示資源-CSDN文…

【AI大模型智能應用】Deepseek生成測試用例

在軟件開發過程中&#xff0c;測試用例的設計和編寫是確保軟件質量的關鍵。 然而&#xff0c;軟件系統的復雜性不斷增加&#xff0c;手動編寫測試用例的工作量變得異常龐大&#xff0c;且容易出錯。 DeepSeek基于人工智能和機器學習&#xff0c;它能夠依據軟件的需求和設計文…

如何在vscode中編譯linux中的c++文件

方式一 在終端打開進行連接編譯 指令含義&#xff1a;將 muduo_server.cpp 源文件編譯成一個可執行文件 server&#xff0c;并且在鏈接過程中使用 muduo_net、muduo_base 庫以及 pthread 庫 方式二 在vscode中修改配置文件 按F1打開配置文件搜索欄&#xff0c;輸入C/C 打開…

基于Flink SQL的實時指標多維分析模型

數據流程介紹 1.創建源表kafka接入消息隊列數據&#xff0c;定義字段映射規則&#xff1b; 2.創建目標表es_sink配置Elasticsearch輸出&#xff1b; 3.通過多級視圖&#xff08;tmp→tmp_dedup→tmp1/tmp2→tmp3→tmp_groupby&#xff09;實現數據清洗、去重、狀態計算&#x…

【vscode-01】vscode不同項目不同語言擴展插件隔離方案

vscode不同項目不同語言擴展插件隔離方案 1. 背景2. vscode 擴展插件隔離方案2.1 code-profile 配置文件2.2 配合extensions.json 1. 背景 最近打開vscode 發現越來越卡&#xff0c;這是一個輕量級代碼編輯器&#xff0c;怎么會如此占用內存呢&#xff1f; 我使用了‘code --l…

《基于大數據的營養果蔬推薦系統的設計與實現》開題報告

目錄 一、選題的理論意義現實意義及應用價值 &#xff08;一&#xff09;理論意義 &#xff08;二&#xff09;現實意義 1.用戶價值提升 2.效率提升 3.經濟效益提升 &#xff08;三&#xff09;應用價值 1.提升用戶健康水平 2.優化購物體驗 3.支持健康決策 4.促進農業…

《C#上位機開發從門外到門內》2-4:Modbus協議

文章目錄 一、引言二、Modbus協議概述2.1 Modbus協議的起源與發展2.2 Modbus協議的基本特點2.3 應用領域 三、Modbus通信原理詳解3.1 Modbus RTU原理3.1.1 數據幀結構3.1.2 數據傳輸與時序3.1.3 錯誤檢測 3.2 Modbus TCP原理3.2.1 數據封裝3.2.2 通信機制3.2.3 與RTU模式的區別…

觀成科技:?加密C2框架Platypus流量分析

一、工具介紹 Platypus 是一款支持多會話的交互式反向 Shell 管理器。在實際的滲透測試中&#xff0c;為了解決 Netcat/Socat 等工具在文件傳輸、多會話管理方面的不足,該工具在多會話管理的基礎上增加了在滲透測試中能更好發揮作用的功能&#xff08;如&#xff1a;交互式 Sh…

OpenBMC:BmcWeb 處理http請求

OpenBMC:BmcWeb 讀取http請求頭-CSDN博客 介紹了,在讀取完http頭后,將調用Connection::handle處理http請求 1.Connection::handle void handle() {...req = std::make_shared<crow::Request>(parser->release(), reqEc);...req->session = userSession;accept …

MySQL事務深度解析:ACID特性、隔離級別與MVCC機制

引言 在數據庫系統中&#xff0c;?事務是保障數據一致性與完整性的核心機制。MySQL通過ACID特性、多級隔離策略和MVCC&#xff08;多版本并發控制&#xff09;實現了高性能與高可靠性的平衡。本文將從底層原理出發&#xff0c;系統解析事務的四大特性、隔離級別的實現邏輯&am…

WireShark自動抓包

背景 異常流量檢測是當前保護網絡空間安全的重要檢測方法。 對流量的研究&#xff0c;首先需要在系統中進行抓包&#xff0c;并對包進行分析。 這里對WireShark自動抓包進行簡要介紹。 操作步驟 1、選擇“捕獲”>“選項”。 2、在Input下&#xff0c;選擇要抓包的網絡接…

Android 自定義View之底部導航欄

文章目錄 Android 自定義View之底部導航欄概述代碼定義TabIndex定義Tab定義TabView定義NavigationBarFragmentSwitchHelper管理類使用 源碼下載 Android 自定義View之底部導航欄 概述 封裝一個通用的底部導航欄控件。 代碼 定義TabIndex Retention(AnnotationRetention.SOU…