首页 > 其他分享 >k8s之存储类

k8s之存储类

时间:2024-09-05 10:28:49浏览次数:12  
标签:存储 PV Kubernetes 创建 PVC StorageClass k8s

介绍

在Kubernetes中,StorageClass 是一种 API 对象,它定义了一种存储卷的动态供应方式。
StorageClass 允许管理员描述不同类型的存储系统或细节,例如不同类型的本地存储、不同类型的云存储等。
当用户需要持久化存储时,他们可以请求特定类型的 StorageClass,Kubernetes 将根据这个描述自动创建相应的 Persistent Volume (PV)。

StorageClass 的主要特点

  • 动态供应:StorageClass 可以配置为支持动态存储卷供应,这意味着当用户创建 Persistent Volume Claim (PVC) 时,Kubernetes 会自动创建相应的 PV。

  • 存储系统描述:StorageClass 描述了一种存储系统或存储卷的特定属性,如访问模式(例如 ReadWriteOnce, ReadOnlyMany, ReadWriteMany)、卷的生命周期策略、卷的类型(例如 SSD, HDD)等。

  • 卷绑定模式:StorageClass 可以指定卷绑定模式,即 Immediate 或 Delayed。Immediate 模式下,Kubernetes 在创建 PVC 时会立即尝试供应 PV;Delayed 模式下,只有在 PVC 被引用时才会创建 PV。

  • 参数:StorageClass 允许管理员定义一组参数,这些参数可以传递给动态供应器,用于配置存储卷的特定特性,如 IOPS、性能等级、加密选项等。

  • 选择器:StorageClass 可以包含选择器,这些选择器可以用于匹配特定的 PVC,使得只有符合特定条件的 PVC 才会使用这个 StorageClass。

  • 默认存储类:可以设置一个 StorageClass 作为默认的存储类,如果没有指定特定的 StorageClass,PVC 将使用默认的 StorageClass 来供应存储。

创建使用

1、准备LUN
确保集中式存储上的LUN已经被创建,并且已经准备好被Kubernetes使用。

2、配置存储插件:
根据你的集中式存储系统,选择一个合适的Kubernetes存储插件。常见的插件包括但不限于NetApp Trident、EMC Unity/VNX2、HPE 3PAR、Dell EMC PowerFlex等。
根据插件的文档,配置并部署存储插件到Kubernetes集群中。

3、创建StorageClass

创建一个StorageClass对象,它引用了你的StorageClass并定义了如何动态创建PV。StorageClass会指定如何将LUN映射到PV上。

例如,对于NetApp Trident,你可能需要创建一个StorageClass YAML文件,如下所示:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: netapp-trident
provisioner: netapp.io/trident
parameters:
  backendType: "san"
  provisioningType: "file"
  storageAccessCapability: "readwritemany"

这个StorageClass告诉Kubernetes如何使用Trident插件来创建PV。

4、创建Persistent Volume Claim (PVC):、

创建一个PVC对象,请求StorageClass来提供所需的存储资源。
PVC会引用StorageClass,并定义存储的大小和访问模式等要求。
例如:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-lun-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: netapp-trident
  resources:
    requests:
      storage: 10Gi

5、动态供应

当PVC被创建后,StorageClass会触发动态供应过程,StorageClass会与集中式存储通信,将LUN映射到PV上。
这个过程是自动化的,由存储插件管理。

6、使用PV

PVC绑定到PV后,你可以在Pod定义中引用PVC,这样Pod就可以使用这块存储了。

7、验证

确保PV已经成功创建并且被PVC绑定。你可以使用kubectl get pv,pvc来查看状态。
验证Pod是否能够成功挂载并使用存储。

标签:存储,PV,Kubernetes,创建,PVC,StorageClass,k8s
From: https://www.cnblogs.com/OpenSourceSite/p/18397845

相关文章

  • 深入解析OpenStack Cinder:块存储服务详解
    目录OpenStack简介Openstack中的存储:虚机对块存储的要求:Cinder介绍主要组件Cinder基本功能Cinder命令行通用命令卷操作卷快照操作卷备份操作卷与实例的操作卷迁移其他Cinder工作流程Cinder插件OpenStack简介OpenStack是一个开源的云计算管理平台项目,它是......
  • 两个月冲刺软考——存储器件有哪些?数据输入输出技术;计算后缀表达式(配合例题讲解+分析
    1.段页式存储管理根据段号、页号、页内地址进行计算“话术”:最多可有……个段,每个段最大允许有……个页,页的大小为……2.已知内存容量256K,求若用16K*4bit的存储器芯片构成该内存共需要多少片?16K*4bit的存储芯片,意味着每个芯片有16K个存储单元,每个存储单元可以存储4位(bit)的......
  • MySQL——事务与存储过程(四)综合案例——存储过程应用
            通过一个应用案例让读者熟悉在实际开发中,创建并使用存储过程的完整过程。1.创建一个stu表stu表结构字段名数据类型主键外键非空唯一自增idINT(10)是否是是否nameVARCHAR(50)否否是否否classVARCHAR(50)否否是否否stu表数据idnameclass1Lucyclass12Tomc......
  • MySQL——事务与存储过程(二)存储过程的创建(5)流程控制的使用
        在编写存储过程时还有一个非常重要的部分——流程控制。流程控制语句用于将多个SQL语句划分或组合成符合业务逻辑的代码块。MySQL中的流程控制语句包括:IF语句、CASE语句LOOP语句、WHILE语句、LEAVE语句、ITERATE语句、REPEAT语句和WHILE语句。     ......
  • 依托自研力量,给共享集群存储服务一个优选
    YashanDB共享集群有三大关键组件,崖山集群服务(YCS)、崖山集群文件系统(YFS)、DB组件。上一篇共享集群系列文章《为何共享集群的高可用能力被频频称赞,它的机制有何不同?》深入解析了关键组件的高可用机制与核心技术,本文将深入探讨崖山集群文件系统(YFS)关键技术和特性,并阐释我们选择自主研......
  • 对象存储服务器有什么作用
    对象存储服务器(ObjectStorageServer)是专为存储、管理和检索大量非结构化数据(如文档、图片、音频、视频等)设计的存储解决方案。以下是对象存储服务器的主要作用:1.存储大量非结构化数据对象存储能够高效地处理和存储大量的非结构化数据,这是传统文件系统或块存储难以比拟的。2.数......
  • K8S:Yaml
    学习自:​K8s中yaml文件详解(超详细)​_yamllist-CSDN博客0、前言YAML文件是一种类似JSON的配置文件,相比JSON,YAML使用起来更简洁、强大、方便。它实质上是一种通用的数据串行化格式。1、语法规则区分大小写用缩进表明层级,同一缩进代表同一层级;只允许空格缩进,不允许TAB;可以......
  • 删除使用add-apt-repository添加的存储库
    我正在安装MicrosoftSQLServerforLinux,我不小心用sudoadd-apt-repository"$(wget-qO-https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"为错误的Linux版本(我想要的是20.04版本)添加了存储库。如何撤消上述行的结果?您可以像这样删除它:sudo......
  • k8s创建nfs+StorageClass
    什么是StorageClass前置准备nfsservernfsserver地址:192.168.2.152nsfpath:/datak8s集群集群版本:1.22容器:containerd1.6创建rbac参考https://github.com/kubernetes-retired/external-storage/blob/master/nfs-client/deploy/rbac.yamlapiVersion:v1kind:Ser......
  • K8S安装部署
    一、准备工作在vmware中安装,创建三台centos服务器主机ip配置master192.168.42.1884核,6g内存,40g硬盘node1192.168.42.1892核,2g内存,20g硬盘node2192.168.42.1902核,2g内存,20g硬盘二、环境配置1、修改hosts配置(所有节点执行)vim/etc/hosts192.168.42.188master192.168.4......