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

storageclass介绍和使用

StorageClass 是 Kubernetes 中实现存储资源动态供应的核心组件。它允许你定义不同类型的存储“类别”(如高速 SSD、普通 HDD、网络文件存储等),当用户创建 PVC(PersistentVolumeClaim)时,Kubernetes 可以根据 StorageClass 自动创建 PV(PersistentVolume)和底层的存储资源,无需管理员手动干预。

使用流程:

管理员定义 StorageClass → 用户创建 PVC 并指定 storageClassName → K8s 自动创建 PV 和底层存储。

🚀 为什么需要 StorageClass?

在 SC 出现之前(或没有 SC 时),管理员必须手动创建 PersistentVolume (PV)。这就像你去买房,必须自己去找施工队买地皮、盖房子(创建 PV),然后才能申请入住(创建 PVC)。这非常繁琐且效率低下。

有了 StorageClass 后:
管理员只需要定义好“户型模板”(SC),用户只需要提交“购房申请”(PVC),Kubernetes 就会自动调用云厂商的 API 或本地脚本,帮你“盖好房子”(自动创建 PV 和底层存储),并交付给你使用。

🧩 核心概念与工作原理

StorageClass 的核心在于连接 用户请求 (PVC)存储提供者 (Provisioner)

  1. Provisioner (供应者):这是 SC 的灵魂。它决定了由谁来创建存储。
    • 云厂商插件:如 kubernetes.io/aws-ebs (AWS), kubernetes.io/gce-pd (GCP), disk.csi.everest.io (华为云)。
    • 本地/通用插件:如 rancher.io/local-path (本地磁盘), nfs.csi.k8s.io (NFS)。
  2. Parameters (参数):
    定义存储的具体规格。例如:磁盘类型(SSD/HDD)、IOPS、文件系统类型(ext4/xfs)、加密方式等。
  3. Reclaim Policy (回收策略):定义当用户删除 PVC 后,底层的存储资源如何处理。
    • Delete:删除 PVC 时,连同底层存储(如云盘)一起删除(默认)。
    • Retain:删除 PVC 时,保留底层数据(适合生产环境防误删)。
  4. Volume Binding Mode (卷绑定模式):
    • Immediate:PVC 创建后立即创建 PV(适合云盘)。
    • WaitForFirstConsumer:延迟绑定,直到有 Pod 使用该 PVC 时才创建(本地存储必备,确保存储创建在 Pod 调度的节点上)。

📝 常见使用场景与案例

场景一:使用本地存储 (Local Path Provisioner)

这是开发和测试环境最常用的方式,利用节点本地磁盘作为存储。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: local-path
provisioner: rancher.io/local-path # 指定 Provisioner
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer # 关键:延迟绑定

场景二:使用云厂商云盘 (如华为云/腾讯云)

在云环境中,通常会预置 SC,但你可以自定义高性能版本。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: csi-disk-ssd
provisioner: everest-csi-provisioner # 华为云插件
parameters:everest.io/disk-volume-type: SSD # 指定超高 I/O 类型csi.storage.k8s.io/fstype: ext4
reclaimPolicy: Retain # 生产环境建议保留数据
allowVolumeExpansion: true # 允许在线扩容

场景三:设置默认 StorageClass

如果你希望用户创建 PVC 时不指定 storageClassName 也能自动分配存储,可以将某个 SC 设为默认。

方法:给 SC 添加注解 storageclass.kubernetes.io/is-default-class: "true"

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: standardannotations:storageclass.kubernetes.io/is-default-class: "true" # 设为默认
provisioner: kubernetes.io/no-provisioner
# ...
http://www.jsqmd.com/news/583337/

相关文章:

  • 2025-2026年全球空气能热水器十大品牌评测:五款口碑产品推荐评价盘点 - 十大品牌推荐
  • ChatGPT-初学者指南-人工智能的简单解释及其如何为您带来益处
  • 家用混动SUV舒适度技术科普入门:从实测看核心技术要点
  • 在 vite + vue 中 结合 postcss + postcss-pxtorem + autoprefixer 配置 px 转 rem
  • 当多智能体遇上频域干扰:一场代码与策略的华尔兹
  • Redis 内存淘汰与过期策略
  • 肉包 Roubao 深度技术解析:首款无需电脑的开源 AI 手机自动化助手
  • OpenClaw 局域网访问配置文档
  • Spring 为什么要用三级缓存?
  • 计算机毕业设计:Python汽车销量全栈分析系统 Flask框架 可视化 机器学习 AI 大模型 大数据(建议收藏)✅
  • 水质溶解氧在线监测仪:实时监测与数据记录解析
  • Python 实战:数据归一化 4 种核心方法对比 + 代码实现(机器学习必看)
  • BililiveRecorder全场景应用指南:从入门到精通的直播内容捕获方案
  • Javase(三)三大特性之封装
  • java答题pk小程序源码核心功能
  • AI-现金流-将-ChatGPT-变成您的-24-7-赚钱机器-2025-版-
  • 3D卷积和2D卷积区分-高光谱图像为例
  • 用了大半年的免费云服务器,分享真实体验
  • 看这家美国顶级新闻媒体如何用 Splashtop 实现效率与安全双飞跃
  • 有人说:中文只适合中国人学,因为前提要有个聪明的脑子!那么,中国人学英文,辅助用「干词」那简直就是聪明的脑子配上了高效的工具,原地学会!
  • 编译系统概述
  • 人在哪数据就在哪!两步打造私人高速通道,4K原片/工作文件随点随看
  • x64汇编:内存工作的基本原理
  • AI-现金流指南-最大化利润的-ChatGPT-货币化
  • 运动AI市场2026预测:亚太领跑、传感器国产化与5G+边缘计算新机遇
  • 开篇:数据处理绕不开的合并与拼接
  • Autovisor:智能优化在线课程学习效率的自动化解决方案
  • 2025届最火的降AI率平台推荐
  • 基于PLC的6层3部电梯 12000+字,纯手写的,西门子S7-1200PLC,文章里面的图纸...
  • ChatGPT-AI-大师终极指南