【K8s】整體認識K8s之存儲--volume

為什么要用volume?

首先。容器崩潰或重啟時,所有的數據都會丟失,我們可以把數據保存到容器的外部,比如硬盤nfs,這樣,即使容器沒了,數據還在;第二就是容器之間是隔離的。我們如果想共享數據的話,就要使用volume,第三就是讓容器能夠使用外部的存儲資源,比如公司的NAS存儲、云硬盤

EmptyDir卷

EmptyDir,它是一個臨時工作目錄,Pod里的容器可以一起在上面放文件,交換數據,但是當pod被刪除后,它就會被清空,它的生命周期跟pod是一致的,他提供給了應用一個臨時緩存空間,比如下載臨時文件,計算中間結果,他也讓pod中的不同容器間實現了數據共享

HostPath卷

Host path,它是節點的本地存儲,他將宿主機的文件掛載到pod中,但是要盡量少用,因為它會影響pod的可遷移性,Host path卷中的數據不會隨著pod 刪除而刪除,因為它實實在在的存儲在節點的磁盤中。比如運行kube-proxy 、CNI插件等系統守護進程的時候,需要訪問/lib/models等主機目錄,監控代理需要訪問節點上的/proc或/sys文件系統來收集系統的指標。

PV/PVC

PV會為集群提供一塊與pod和節點生命周期完全無關的持久化的網絡存儲,PV它由集群管理員預先配置,或者由storage class動態創建,它本身就是存儲資源,比如一塊nfs硬盤,PVC (persistent volume claim)是用戶對存儲的聲明,用戶在申領存儲資源的時候需要聲明,需要多大容量,需要什么訪問模式,PVC會向系統申請合適的pv來綁定

工作原理就是:

管理員創建一批pv(或者配置一個storage class來實現動態供給)

用戶在pod配置里定義一個PVC說明需要什么樣的存儲

K8s系統會為這個PVC找到一個匹配的pv,并與之綁定

用戶在pod中通過引用PVC來掛載存儲

pod刪除后,PVC和PV依然存在,數據得以保留PV可以被回收,以備后續使用


Empty Dir的生命周期與pod同步,host path的生命周期與node同步,PV或PVC的生命周期是獨立的


PV的訪問方式

PV 的訪問模式有四種:

- ReadWriteOnce:卷可以被一個節點以讀寫方式掛載。該訪問模式也允許運行在同一節點上的多

Pod 訪問卷。

- ReadOnlyMany:卷可以被多個節點以只讀方式掛載。

- ReadWriteMany:卷可以被多個節點以讀寫方式掛載。

- ReadWriteOncePod:卷可以被單個 Pod 以讀寫方式掛載

PV的回收策略

K8s的PV主要支持三種回收策略,分別是retain delete和recycle 。

Return(保留)它的核心作用,是手動回收。當PVC被刪除的時候,PV對象和其對應的外部存儲資源以及其中的數據都會被保留下來,用戶刪除PVC時,與之綁定的PV不會被自動刪除,它的狀態會變成released在released狀態下,這個PV不能再被新的PVC綁定。這時候我們可以將它掛載到某個pod上來查看其中的數據或者手動刪除這個PV,但是這僅僅刪除了k8s中的PV對象,外部的存儲資源依然存在,所以我們還需要清理外部存儲手動刪除對應的外部存儲卷才真正的釋放空間,這適用于數據非常重要的場景,確保不會誤刪數據,是很多數據庫生產環境中默認和推薦的策略,因為它提供了最高的數據安全性

第二種delete(刪除)自動回收,當PVC被刪除時,k8s會自動刪除PV對象,并調用后端存儲的接口釋放并刪除外部存儲資源,這時候,存儲空間被自動釋放,數據會永久丟失。一般當存儲緩存數據臨時處理文件時,可以這樣刪除,及時釋放存儲資源,節省成本。

第三種是recycle,這種策略不安全且效率低,已經被取代,所以這里我們不做介紹。

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

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

相關文章

flutter工程

安裝flutter 在VSCode中安裝flutter extension、flutter組件 國內源下載flutter 3.35.2的SDK,安裝,官網下載不了 將flutter安裝目錄加入環境變量中 D:\program\flutter_sdk\flutter\bin 執行 C:\Windows\System32>flutter --version Flutter 3.35.2 ?…

C/C++ 高階數據結構 —— 二叉搜索樹(二叉排序樹)

? 🎁個人主頁:工藤新一 ? 🔍系列專欄:C面向對象(類和對象篇) ? 🌟心中的天空之城,終會照亮我前方的路 ? 🎉歡迎大家點贊👍評論📝收藏?文章…

stm32F4掛載emmc以及重定義printf

1.Cubemx SDIO USART 使用串口輸出調試信息 FATFS Clock Configuration 防止堆棧溢出 2.Keil5 新建自定義文件夾及文件 將文件夾添加進工程 新建.c與.h文件,保存到自定義的文件夾,并添加到工程中 bsp_emmc.c #include "bsp_emmc.h" #include…

基于AI的大模型在S2B2C商城小程序中的應用與定價策略自我評估

摘要:本文聚焦電商行業,結合開源AI大模型與AI智能名片S2B2C商城小程序的技術特性,提出基于行業數據挖掘與自我評估的定價策略。通過分析行業價格分布與銷量占比,結合商品設計、品牌創意度、商品豐富度及內功等評估指標&#xff0c…

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G+32G_開ADB安裝軟件教程

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G32G_開ADB安裝軟件教程簡介:中國移動云電腦一體機-創維LB2004,顯示器是23.8英寸1920x1080分辨率,安卓盒子配置是瑞芯微RK3566-四核-1.8GHz處理器-2G32G,預裝Android11系統。具體操…

普藍自研AutoTrack-4X導航套件平臺適配高校機器人實操應用

在當前高校機器人工程、人工智能、自動化等專業的教學與科研中,師生們常常面臨一個核心痛點:缺乏一套 “開箱即用、可深研、能落地” 的自主移動導航平臺 —— 要么是純仿真環境脫離實際硬件,要么是硬件零散需大量時間搭建,要么是…

2025年工會證考試題庫及答案

一、單選題1.工會法人資格審查登記機關自收到申請登記表之日起(??)日內對有關申請文件進行審查,對審查合格者,辦理登記手續,發放《工會法人資格證書》及其副本和《工會法人法定代表人證書》。A.二十B.十五C.六十D.三十答案:D 解析:第七條基…

【OpenGL】LearnOpenGL學習筆記17 - Cubemap、Skybox、環境映射(反射、折射)

上接:https://blog.csdn.net/weixin_44506615/article/details/150935025?spm1001.2014.3001.5501 完整代碼:https://gitee.com/Duo1J/learn-open-gl | https://github.com/Duo1J/LearnOpenGL 一、立方體貼圖 (Cubemap) 立方體貼圖就是一個包含了6張2…

第十七章 ESP32S3 SW_PWM 實驗

本章將介紹使用 ESP32-S3 LED 控制器(LEDC)。 LEDC 主要用于控制 LED,也可產生PWM信號用于其他設備的控制。該控制器有 8 路通道,可以產生獨立的波形,驅動 RGB LED 等設備。 LED PWM 控制器可在無需 CPU 干預的情況下自動改變占空比&#xff…

Flink CDC如何保障數據的一致性

Flink CDC如何保障數據的一致性 前言 在大規模流處理中,故障是無可避免的。機器會宕機,網絡會抖動。一個可靠的流處理引擎不僅要能高效地處理數據,更要在遇到這些故障時,保證計算結果的正確性。Apache Flink 正是因其強大的容錯機…

Spring Boot 定時任務入門

1. 概述 在產品的色彩斑斕的黑的需求中,有存在一類需求,是需要去定時執行的,此時就需要使用到定時任務。例如說,每分鐘掃描超時支付的訂單,每小時清理一次日志文件,每天統計前一天的數據并生成報表&#x…

學習:uniapp全棧微信小程序vue3后臺(6)

26.實現描述評分標簽的雙向數據綁定 /pages/wallpaper/picadd Array.prototype.splice() splice() 方法就地移除或者替換已存在的元素和/或添加新的元素。 二次確認 展現 確認標簽 刪除標簽 溫故知新: 標簽: 關閉標簽 27.uni-data-select調用云端分類…

Azure Marketplace 和 Microsoft AppSource的區別

微軟的商業應用生態中,Azure Marketplace 和 Microsoft AppSource 是微軟并行的兩個主要“應用市場”(Marketplace),它們共同構成了微軟的“商業市場”(Commercial Marketplace)計劃,但服務的目…

完整實驗命令解析:從集群搭建到負載均衡配置(2)

一、環境準備與基礎網絡配置1.1 節點角色與網絡規劃節點角色主機名所屬網段IP 地址網關核心功能Web 服務器web110.1.8.0/2410.1.8.1110.1.8.10(后期調整為 10.1.8.20)部署 Nginx/HTTPD,提供 Web 服務Web 服務器web210.1.8.0/2410.1.8.1210.1.…

uniapp H5禁止微信瀏覽器長按出菜單,只針對圖片

一、問題描述 如圖:uni-image>img,img {pointer-events: none;-webkit-pointer-events: none;-ms-pointer-events: none;-moz-pointer-events: none; }uni-image::before {content: ;position: absolute;top: 0;bottom: 0;left: 0;right: 0;background: transpa…

【機器學習】 15 Gaussian processes

本章目錄 15 Gaussian processes 515 15.1 Introduction 515 15.2 GPs for regression 516 15.2.1 Predictions using noise-free observations 517 15.2.2 Predictions using noisy observations 518 15.2.3 Effect of the kernel parameters 519 15.2.4 Estimating the kern…

Vue加載速度優化,verder.js和element.js加載速度慢解決方法

1. 使用CDN 這里把常用的vue、vuex、elementui、echarts、axios都引入成cdn的方式 1、在index.html引入CDN 找到public/index.html在上方引入下邊的cdn。 [!NOTE] 引入script的時候,一定要把vue.js放到最上邊,最先引入,不然后邊的js加載會…

49.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--擴展功能--集成網關--Refit跨服務調用

Refit是一個用于.NET平臺的REST庫,它可以將REST API轉換為實時類型安全的接口。通過Refit,我們可以輕松實現微服務之間的跨服務調用,使服務間通信變得更加簡單和類型安全。本文將介紹如何在我們的項目中使用Refit來實現微服務間的通信。 一、什么是Refit Refit是一個強大的REST…

日志ELK、ELFK、EFK

一.ELK架構Elasticsearch Logstash Kibana 數據庫日志處理日志顯示1.logstash的使用(1)input:輸入(2)filter:處理(3)output:輸出2.ELFK架構Filebeat-->Elasticsearc…

【CUDA進階】MMA分析Bank Conflict與Swizzle(下)

目錄前言1. bank conflict 分析2. 通過 padding 解決 bank conflict3. mma 搭配 wmma 實現矩陣乘法計算3.1 代碼實現3.2 補充:stmatrix_sync 函數分析3.3 補充:__shfl_sync 函數詳解4. swizzle 原理講解5. swizzle 實現思路講解結語下載鏈接參考前言 學習…