• Kubernetes—动态存储卷配置(StorageClass资源)


    StorageClass的介绍

      StorageClass是对存储资源的一个抽象定义。与静态模式的存储卷配置(就是集群管理员手动去创建持久卷PV),StorageClass是一种动态模式的存储卷配置。StorageClass资源同PV一样,也不是命名空间级别的,是集群级别的。
      StorageClass资源使得集权管理员解放双手,无需多次手动创建持久卷PV,集群管理员只需要创建不同类别的存储类对应的StorageClass资源,供用户的PVC资源进行引用,k8s系统会自动创建持久卷PV与持久卷声明PVC进行绑定。
      在用户创建持久卷声明PVC之前,集群管理员需要创建StorageClass资源,这样才能动态的创建新的持久卷PV。

    StorageClass的作用or优势

    1. 减少了用户对于底层存储资源各方面细节的关注,只需要关注自己创建的PVC资源,引用存储类的对应StorageClass资源即可;
    2. 集群管理员将从多次创建PV这项工作中解脱出来,只要有了StorageClass资源,PVC创建引用好后,k8s系统会自动为其创建合适的PV,并且将PV和PVC绑定好,从而实现动态的资源供应。

    StorageClass的定义

    StorageClass主要包含了名称、后端存储提供者、后端存储参数等配置;
    yaml文件示例:

    apiVersion: storage.k8s.io/v1beta1
    kind: StorageClass
    metadata:
      name: nfs-storage-test
    provisioner: fuseim.pri/ifs
    parameters: 
      type: xxx
      ... ...                       
    

    关键配置说明:

    1. 名称:
      metadata.name主要描述了StorageClass的名称,主要为持久卷声明PVC应用,在PVC的yaml文件中通过spec.storageClassName对其进行引用。

    2. 提供者:
      provisioner描述的是底层存储资源的提供者,一般是以"kubernetes.io/"开头,用户也可以自定义,如上述例子。在PVC创建后,持久卷PV由该metadata.name的StorageClass资源中引用的provisioner创建。

    3. 参数:
      parameters可有可无,这是后端存储资源提供者的一些参数设置,如果是自定义的provisioner,不一定有参数。

    StorageClass常用命令

    创建StorageClass资源(yaml方式)
    $ kubectl create -f storageclass_test.yaml

    查看StorageClass资源
    $ kubectl get storageclass -n ns1
    我们也可以通过缩写进行查看kubectl get sc

    查看某个StorageClass资源详情
    $ kubectl describe sc sc_name
    其中,sc_name为StorageClass资源的名称

    删除StorageClass资源
    $ kubectl delete sc sc_name
    其中,sc_name为StorageClass资源的名称

  • 相关阅读:
    [BZOJ1193][HNOI2006]马步距离 大范围贪心小范围爆搜
    [BZOJ2223][BZOJ3524][Poi2014]Couriers 主席树
    [BZOJ1069][SCOI2007]最大土地面积 凸包+旋转卡壳
    旋转卡壳 求凸多边形中面积最大的四边形
    [BZOJ2815][ZJOI2012]灾难 灭绝树+拓扑排序+lca
    [BZOJ2599][IOI2011]Race 点分治
    [BZOJ1455]罗马游戏 左偏树+并查集
    [BZOJ1295][SCOI2009]最长距离 最短路+枚举
    [LintCode] Climbing Stairs
    [Codeforces] MultiSet
  • 原文地址:https://www.cnblogs.com/Andya/p/12445067.html
Copyright © 2020-2023  润新知