Kubernetes(k8s)-StorageClass介绍

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

我们在前面介绍kubernetes的PV&PVC的时候,通过手工创建PV和PVC时候,这个操作太麻烦而且没有不能自动化,今天我们要介绍的一个资源:StorageClass(简称sc)就是kubernetes专门用来解决该问题的。

StorageClass介绍

在Kubernetes中,SC(StorageClass)是用于定义动态存储的一种资源类型。SC充当了存储供应商和应用之间的中间层,它定义了存储的属性和行为,供应商可以根据这些属性和行为来提供符合需求的存储。

SC的作用是为PVC提供动态存储分配。当应用创建PVC时,可以通过指定SC来请求动态分配的存储资源。SC定义了一些属性,如存储的类型、访问模式、保留策略等。存储供应商可以根据这些属性来提供符合需求的存储。

SC与PVC之间存在一对多的关系。一个SC可以被多个PVC引用,而每个PVC只能引用一个SC。当PVC使用SC时,Kubernetes控制器会根据SC的属性,自动匹配和绑定可用的PV资源。

通过使用SC,应用开发者和管理员可以更加灵活地管理存储资源。它可以使应用与底层存储的具体细节解耦,从而提供了存储资源的可移植性和灵活性。

总结起来,SC是Kubernetes中用于定义动态存储的资源类型。它充当了存储供应商和应用之间的中间层,定义了存储的属性和行为。通过使用SC,应用可以请求动态分配的存储资源,实现更加灵活和可移植的存储管理。

创建StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storage
provisioner: kubernetes.io/nfs
mountOptions:
  - vers=4.1
  - hard
  - nfsvers=4.1
  - rsize=1048576
  - wsize=1048576
  - timeo=600
  - retrans=2
parameters:
  nfsServer: <NFS_SERVER_IP>
  path: <NFS_SHARE_PATH>

在这个示例中,我们创建了一个名为 nfs-storage 的

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  storageClassName: "nfs-storage" #定义了我们上面定义的sc
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: "5Gi"

存储类,并指定了 kubernetes.io/nfs 作为它的提供者(provisioner)。

mountOptions 字段中,我们指定了一些 NFS 挂载选项,例如 vers=4.1 表示使用 NFS 4.1 协议,hard 表示使用硬挂载,rsize 和 wsize 分别表示读取和写入的块大小,timeo 表示超时时间,retrans 表示重传次数。

在 parameters 字段中,我们指定了 NFS 服务器的 IP 地址(nfsServer)和共享路径(path)的值。你需要将 <NFS_SERVER_IP> 和 <NFS_SHARE_PATH> 替换为实际的 NFS 服务器 IP 地址和共享路径。

PVC申请资源

我们直接创建了一个PVC,根据自己的需求去申请磁盘,不用管理员额外去创建PV,也不用考虑PV和PVC的对应关系。当然这个实际环境是肯定无法使用的,因为还有比较多的配置没有考虑,上面是一个错误的示范,只是把逻辑关系理出来了,集群管理员定义好了sc,业务方根据需求创建pvc。

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值