当前位置: 首页 > news >正文

Kubernetes基础(十八)-k8s存储对象Persistent Volume

1 什么是Persistent Volume?

在容器化应用中,Pod的生命周期是短暂的,当Pod终止时,其中的数据通常也会被销毁。为了解决这个问题,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一块持久化存储,它独立于Pod存在,可以被多个Pod共享,并且在Pod终止后仍然保留数据。

PV允许开发者将数据存储和Pod解耦,提供了一种灵活且可靠的存储解决方案。PV的生命周期与Pod无关,可以手动配置也可以使用动态存储类(StorageClass)来动态创建。

2 Persistent Volume的基本结构

PV有一些基本的属性和状态,这些属性决定了PV的可用性和使用方式。

2.1 Access Modes(访问模式)

PV支持不同的访问模式,它定义了Pod如何与PV进行交互。主要有以下三种访问模式:

  • ReadWriteOnce(RWO): 读写模式,只能被单个Pod挂载为读写模式。
  • ReadOnlyMany(ROX): 只读模式,可以被多个Pod挂载为只读模式。
  • ReadWriteMany(RWX): 读写模式,可以被多个Pod挂载为读写模式。

2.2 Storage Class(存储类)

Storage Class是一种动态创建PV的机制,它定义了PV的属性,包括存储类型、访问模式等。Storage Class可以根据需求动态地创建PV,使得存储的管理更加灵活。

2.3 Capacity(容量)

PV的容量定义了可以存储的数据量,以GiB或TiB为单位。Pod可以使用PV上的所有容量,但不会超过PV的限制。

2.4 Reclaim Policy(回收策略)

Reclaim Policy定义了当PV释放后的行为。主要有以下三种策略:

  • Retain: 保留,PV的数据会被保留,需要手动清理。
  • Recycle: 回收,PV的数据会被清空,重新变为可用状态。
  • Delete: 删除,PV的数据会被删除,PV也会被删除。

3 Persistent Volume的使用示例

为了更好地理解Persistent Volume的使用,以下是一个详细的示例,涉及PV的手动创建和使用。

步骤1:创建Persistent Volume

首先,我们创建一个PV,指定其访问模式、容量、回收策略等属性。

apiVersion: v1
kind: PersistentVolume
metadata:name: my-pv
spec:capacity:storage: 1GivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: manualhostPath:path: "/mnt/data"

在这个例子中,我们创建了一个1Gi容量的PV,使用了ReadWriteOnce的访问模式,并指定了Retain的回收策略。PV的存储类为manual,表示这是一个手动创建的PV。PV的存储路径为/mnt/data

步骤2:创建Persistent Volume Claim

PV只是存储资源的定义,要在Pod中使用这些资源,我们需要创建一个Persistent Volume Claim(PVC)。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: my-pvc
spec:accessModes:- ReadWriteOncestorageClassName: manualresources:requests:storage: 1Gi

在这个例子中,我们创建了一个PVC,请求1Gi容量,并指定了ReadWriteOnce的访问模式和manual的存储类。

步骤3:创建Pod

最后,我们创建一个Pod,并将PVC挂载到Pod的路径中。

apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-storagemountPath: "/usr/share/nginx/html"volumes:- name: my-storagepersistentVolumeClaim:claimName: my-pvc

这个Pod使用了Nginx镜像,并将PVC挂载到了/usr/share/nginx/html路径。这样,Pod就能够访问并写入PV中的持久化数据。

步骤4:验证

通过访问Pod中挂载的路径,我们可以验证数据是否能够持久化。

kubectl exec -it my-pod -- /bin/sh
# 在Pod中执行以下命令
echo "Hello, Persistent Volume!" > /usr/share/nginx/html/index.html
exit

通过访问PV的存储路径,我们也可以验证数据是否持久化。

cat /mnt/data/index.html

相关文章:

Kubernetes基础(十八)-k8s存储对象Persistent Volume

1 什么是Persistent Volume? 在容器化应用中,Pod的生命周期是短暂的,当Pod终止时,其中的数据通常也会被销毁。为了解决这个问题,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一…...

用linux命令将文本格式文件转换为csv文件

文章目录 前言例: 总结 前言 用到linux命令awk 使用 awk 命令来将文本文件转换为 CSV 格式。假设你有一个以空格或制表符分隔的文本文件,以下是将其转换为 CSV 格式的命令: awk BEGIN { OFS"," } { print $1, $2, $3 } input.txt > outpu…...

C++中的binary_search函数详解

C中的std::binary_search函数详解 在C标准模板库(STL)中,std::binary_search是一个非常有用的函数,它可以在一个已排序的序列中查找一个特定的元素。这个函数的使用非常直观,但是了解其工作原理和一些注意事项可以帮助…...

程序员为什么不喜欢关电脑?我来回答

程序员为什么不喜欢关电脑? 主题: 你是否注意到,程序员们似乎从不关电脑?别以为他们是电脑上瘾,实则是有他们自己的原因!让我们一起揭秘背后的原因,看看程序员们真正的“英雄”本色&#xff01…...

波奇学Linux:动静态库

创建静态库 Makefile文件 mymath.c文件 mymath.h文件 编译main.c文件 gcc 编译时会把在系统目录中寻找头文件和库文件,文件不在系统目录中用参数 -I 头文件所在文件夹/ -L 库的地址文件夹 -l除去lib和后缀。 拷贝文件到系统目录即可不用参数 库的安装类似于把头文件…...

1723. 完成所有工作的最短时间

文章目录 题意思路代码 题意 题目链接 K个工人,一共jobs个任务,问怎样分配任务,最短的最长工人完成任务完成时间。 思路 DFS剪枝(最大单个工人jobs时间超过ans时间;有限空闲工人拿任务)模拟退火dp 代码…...

初始HTTP协议

一、http协议 1、http相关概念 互联网:是网络的网络,是所有类型网络的母集因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上的计算机都成为主机。万维网:WWW(…...

C++ 位运算常用操作 二进制中1的个数

给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。 输入格式 第一行包含整数 n 。 第二行包含 n 个整数,表示整个数列。 输出格式 共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表…...

大数据领域的数据仓库

在大数据领域,数据仓库(Data Warehouse)是一个用于存储、管理和分析大量数据的集中式系统。它从多个异构数据源收集数据,对数据进行清洗、转换和整合,然后将其存储在一个集中的位置,以支持复杂的查询、报告…...

sentinel的资源数据指标是如何采集

资源数据采集 之前的NodeSelectorSlot和ClusterBuilderSlot已经完成了对资源调用树的构建, 现在则是要对资源进行收集, 核心点就是这些资源数据是如何统计 LogSlot 作用: 记录异常请求日志, 用于故障排查 public class LogSlot extends AbstractLinkedProcessorSlot<Def…...

算法刷题:找到字符串中所有的字母异位词

找到字符串中所有的字母异位词 .题目链接题目详情题目解析算法原理滑动窗口流程图定义指针及变量进窗口判断出窗口更新结果 我的答案 . 题目链接 找到字符串中所有的字母异位词 题目详情 题目解析 所谓的异位词,就是一个单词中的字母,打乱顺序,重新排列得到的单词 如:abc-&g…...

【Java EE初阶十九】网络原理(四)

4. 数据链路层 数据链路层也有很多种协议&#xff0c;其中一个比较常见常用的,就是“以太网协议”&#xff08;通过网线/光纤, 来通信所使用的协议叫做以太网协议&#xff0c;以太网是横跨数据链路层 物理层&#xff09;&#xff1b; 4.1 以太网数据帧格式 帧头 载荷(IP 数据…...

12.23 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、社招&校招 | 轻舟智航 社招 & 2024校招 社招&校招 | 轻舟智航 社招 & 2024校招 2、校招 | 成都精灵云科技2024校园招聘补录 校招 | 成都精灵云科技2024校园招聘补录 …...

FPGA转行ISP的探索之一:行业概览

ISP的行业位置 最近看到一个分析&#xff0c;说FPGA的从业者将来转向ISP&#xff08;Image Signal Process图像信号处理&#xff09;是个不错的选择&#xff0c;可以适应智能汽车、AI等领域。故而我查了一下ISP&#xff0c;对它大致有个概念。 传统的ISP对应的是相机公司&…...

Linux系统之部署网页小游戏合集网站

Linux系统之部署网页游戏合集网站 一、项目介绍1.1 项目介绍1.2 自定义配置方法二、本次实践介绍2.1 环境规划2.2 本次实践介绍三、检查本地环境3.1 检查操作系统版本3.2 检查当前yum仓库四、安装httpd软件4.1 检查yum仓库4.2 安装httpd软件4.3 启动httpd服务4.4 查看httpd服务…...

【白嫖8k买的机构vip教程】python(2):python_re模块

python之re模块 一、正则表达式   re模块是python独有的匹配字符串的模块&#xff0c;该模块中提供的很多功能是基于正则表达式实现的&#xff0c;而正则表达式是对字符串进行模糊匹配&#xff0c;提取自己需要的字符串部分&#xff0c;他对所有的语言都通用。注意&#xf…...

【CSS】display:flex和display: inline-flex区别

flex&#xff1a;将对象作为弹性伸缩盒显示 inline-flex&#xff1a;将对象作为内联块级弹性伸缩盒显示 DOM结构 <div class"main"><div></div><div></div><div></div><div></div></div>flex .main{…...

rpm安装gitlab

1.1 下载gitlab安装包 使用rpm包安装命令安装gitlab的rpm包&#xff0c;下载地址为https://packages.gitlab.com/gitlab/gitlab-ce社区版本&#xff1b; 推荐使用清华大学镜像&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab安装包详见&#xff1…...

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…...

Vue练习5:图片的引入

后续会补充 1.require引入 src -> asstes <template><img :src"url"> </template><script> export default {name: App,data(){return{url: require("./assets/logo.png"),}} } </script> 2.import引入 src…...

e-cology单点登录token认证失败排查指南

1. 这不是账号被锁&#xff0c;而是认证链路上某个环节“失联”了“e-cology token认证时报错该账号存在异常&#xff0c;单点登录失败”——这句话我去年在客户现场听运维同事念了不下二十遍。它不像“密码错误”或“用户不存在”那样直白&#xff0c;也不像“系统繁忙请稍后再…...

【限时技术解密】Midjourney未公开的饱和度隐式约束机制:基于2372条训练图像元数据逆向推演的4项硬性规则

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney饱和度调整的底层认知重构 传统图像处理中&#xff0c;饱和度常被简化为“色彩强度调节滑块”&#xff0c;但在 Midjourney 的扩散生成范式下&#xff0c;饱和度并非独立通道参数&#xff0…...

IGND算法:融合高斯牛顿法与增量学习的优化新范式

1. IGND算法&#xff1a;当高斯牛顿法遇见增量学习在机器学习的世界里&#xff0c;模型训练的本质就是一场持续的优化之旅。我们手握一个由参数构成的复杂函数&#xff0c;目标是在浩瀚的参数空间中&#xff0c;找到那个能让预测误差最小化的“甜蜜点”。多年来&#xff0c;随机…...

CapyMOA:Python流式机器学习框架,高效应对概念漂移与在线持续学习

1. 项目概述&#xff1a;为什么我们需要CapyMOA&#xff1f;在现实世界的机器学习应用中&#xff0c;数据很少是静止不动的。想象一下&#xff0c;你正在构建一个金融欺诈检测系统&#xff0c;攻击者的策略会随时间不断演变&#xff1b;或者是一个工业物联网传感器监控平台&…...

MoE-GPS框架:动态专家复制的负载均衡优化策略

1. MoE-GPS框架解析&#xff1a;动态专家复制的预测策略指南在大型语言模型&#xff08;LLM&#xff09;的实际部署中&#xff0c;混合专家&#xff08;Mixture-of-Experts, MoE&#xff09;架构通过动态激活专家子集显著降低了计算开销。然而&#xff0c;多GPU环境下的专家负载…...

STIML框架:融合标度理论与机器学习的企业增长预测新范式

1. 项目概述&#xff1a;当标度律遇见机器学习在金融分析和企业研究领域&#xff0c;预测一家公司的未来增长&#xff0c;就像试图预测一艘巨轮在复杂洋流中的航迹。传统上&#xff0c;我们有两类“航海图”&#xff1a;一类是基于物理定律的“机制模型”&#xff0c;它告诉你船…...

AI社交对话反效果解析:期望违背与尴尬感知的机制与规避

1. 项目概述&#xff1a;当AI社交对话“翻车”时&#xff0c;发生了什么&#xff1f; 最近和几个做客户服务与市场营销的朋友聊天&#xff0c;大家不约而同地提到了一个现象&#xff1a;公司花大价钱部署的AI聊天机器人或者智能客服&#xff0c;有时候不仅没解决问题&#xff0…...

对比体验使用Taotoken聚合接口与直连原厂API的延迟与稳定性差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比体验使用Taotoken聚合接口与直连原厂API的延迟与稳定性差异 1. 引言 在集成大模型能力到实际业务时&#xff0c;开发者除了关…...

AI Agent如何重构咨询交付模式:从人工周级报告到秒级洞察,头部咨询公司内部流程解密

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent如何重构咨询交付模式&#xff1a;从人工周级报告到秒级洞察&#xff0c;头部咨询公司内部流程解密 传统管理咨询项目中&#xff0c;一线顾问需耗时5–7天完成行业扫描、竞对分析、客户数据清洗…...

【收藏必备】2026 版大语言模型入门详解:小白 程序员快速上手 LLM 核心原理

大语言模型&#xff08;LLM&#xff09;是 2026 年生成式 AI 与智能体&#xff08;Agent&#xff09;时代的核心基石&#xff0c;本文系统拆解其发展脉络、应用全流程与完整构建逻辑。从自监督预训练、指令微调至人类反馈强化学习&#xff08;RLHF&#xff09;&#xff0c;逐层…...