前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【每日一个云原生小技巧 #18】Storage Classes

【每日一个云原生小技巧 #18】Storage Classes

作者头像
郭旭东
发布2023-11-08 15:21:16
1490
发布2023-11-08 15:21:16
举报
文章被收录于专栏:云原生工具箱云原生工具箱

Storage Class 是 Kubernetes 中定义不同存储类型的一种方法。它为管理员提供了一种描述他们提供的存储的方式,并允许用户以抽象的方式使用这些存储。Storage Classes 可以定义特定的存储提供者(如 AWS EBS、Azure Disk、GCE Persistent Disk 等)、预配置的策略(如备份策略、加密)、IO性能、访问模式等。

使用场景:

  • 动态卷配额: 在使用 PVC 请求存储时,Storage Class 可以帮助动态地创建所需的 PV。
  • 管理多种存储类型: 当集群需要连接到不同类型的存储时(例如,SSD 和 HDD),Storage Class 可以帮助管理这些存储选项。
  • 抽象存储细节: 用户不需要关心后端存储的实际实现,只需要知道不同的 Storage Class 名称。

使用技巧

  1. 明确定义: 给 Storage Class 一个描述性的名称,这样用户可以容易地了解它们提供的存储类型和性能。
  2. 设置默认 Storage Class: 可以有一个默认的 Storage Class,这样当 PVC 没有指定 Storage Class 时,它会自动使用默认的。
  3. 细化访问策略: 通过设置允许的访问模式(例如 ReadWriteOnceReadOnlyMany),确保 Storage Class 满足特定的应用需求。
  4. 使用卷扩展: 如果可能,选择支持扩展的存储解决方案,这样可以根据需求动态调整卷的大小。
  5. 利用参数和策略: 不同的存储提供者可能支持不同的参数(如 IOPS 配置、数据复制因子等),根据需要合理配置。
  6. 注意持久化保护: 确保在 Storage Class 中配置了适当的持久化保护策略,以避免意外删除重要数据。

使用案例

以下是一个如何定义 Storage Class 并使用它来创建 Persistent Volume Claim 的示例。

Storage Class 定义示例:

代码语言:javascript
复制
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-storage
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
  fsType: ext4
  iopsPerGB: "10"
reclaimPolicy: Retain
allowVolumeExpansion: true
volumeBindingMode: Immediate

在这个示例中,我们定义了一个名为 fast-storage 的 Storage Class,它使用 AWS EBS 作为存储提供者,选择了 gp2 类型,文件系统为 ext4,并且每个 GB 分配了 10 IOPS。回收策略设置为 Retain,表示当 PVC 被删除时,PV 不会被自动删除。同时允许卷扩展,并且在 PVC 创建时会立即进行卷绑定。

Persistent Volume Claim 使用 Storage Class 示例:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: fast-storage-claim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: fast-storage
  resources:
    requests:
      storage: 50Gi

这个 PVC fast-storage-claim 请求使用 fast-storage Storage Class 并申请 50Gi 的存储空间。当这个 PVC 被提交给 Kubernetes API 时,根据 fast-storage Storage Class 的定义,Kubernetes 会自动在 AWS 上创建一个 50Gi 的 gp2 EBS 卷。

这样,应用程序就可以利用这个 PVC 获得一个快速的、支持自动扩展的持久存储,无需关心底层存储的具体实现细节。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-07,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 云原生之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用技巧
  • 使用案例
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com