StorageClass Configuration

    Currently, Installer supports the following Storage Class, providing persistent storage service for KubeSphere (more storage classes will be supported soon).

    • NFS
    • Ceph RBD
    • GlusterFS
    • QingCloud Block Storage
    • QingStor NeonSAN
    • Local Volume (for development and test only)

    The versions of storage systems and corresponding CSI plugins in the table listed below have been well tested.

    After preparing the storage server, you need to refer to the parameters description in the following table. Then modify the corresponding configurations in accordingly.

    The following describes the storage configuration in common.yaml.

    A represents a mounted local storage device such as a disk, partition or directory. Local volumes can only be used as a statically created PersistentVolume. We recommend you to use Local volume in testing or development only since it is quick and easy to install KubeSphere without the struggle to set up persistent storage server. Refer to following table for the definition in conf/common.yaml.

    Local volumeDescription
    local_volume_provisioner_enabledWhether to use Local as the persistent storage, defaults to true
    local_volume_provisioner_storage_classStorage class name, default value:local
    local_volume_is_default_classWhether to set Local as the default storage class, defaults to true.

    NFS

    An NFS volume allows an existing NFS (Network File System) share to be mounted into your Pod. NFS can be configured in conf/common.yaml. Note you need to prepare NFS server in advance.

    The open source distributed storage system can be configured to use in conf/common.yaml. You need to prepare Ceph storage server in advance. Please refer to Kubernetes Documentation for more details.

    Ceph_RBDDescription
    ceph_rbd_enabledWhether to use Ceph RBD as the persistent storage, defaults to false
    ceph_rbd_storage_classStorage class name
    ceph_rbd_is_default_classWhether to set Ceph RBD as default storage class, defaults to false
    ceph_rbd_monitorsCeph monitors, comma delimited. This parameter is required, which depends on Ceph RBD server parameters
    ceph_rbd_admin_idCeph client ID that is capable of creating images in the pool. Defaults to “admin”
    ceph_rbd_admin_secretAdmin_id’s secret, secret name for “adminId”. This parameter is required. The provided secret must have type “kubernetes.io/rbd”
    ceph_rbd_poolCeph RBD pool. Default is “rbd”
    ceph_rbd_user_idCeph client ID that is used to map the RBD image. Default is the same as adminId
    ceph_rbd_user_secretSecret for User_id, it is required to create this secret in namespace which used rbd image
    ceph_rbd_fsTypefsType that is supported by Kubernetes. Default: “ext4”
    ceph_rbd_imageFormatCeph RBD image format, “1” or “2”. Default is “1”
    ceph_rbd_imageFeaturesThis parameter is optional and should only be used if you set imageFormat to “2”. Currently supported features are layering only. Default is “”, and no features are turned on

    GlusterFS

    Attention:

    1. heketi-cli cluster list

    QingCloud Block Storage is supported in KubeSphere as the persistent storage service. If you would like to experience dynamic provisioning when creating volume, we recommend you to use it as your persistent storage solution. KubeSphere integrates , and allows you to use various block storage services of QingCloud. With simple configuration, you can quickly expand, clone PVCs and view the topology of PVCs, create/delete snapshot, as well as restore volume from snapshot.

    QingCloud-CSI plugin has implemented the standard CSI. You can easily create and manage different types of volumes in KubeSphere, which are provided by QingCloud. The corresponding PVCs will created with ReadWriteOnce access mode and mounted to running Pods.

    QingCloud-CSI supports create the following five types of volume in QingCloud:

    • High capacity
    • Standard
    • SSD Enterprise
    • Super high performance
    • High performance
    QingCloud-CSIDescription
    qingcloud_csi_enabledWhether to use QingCloud-CSI as the persistent storage volume, defaults to false
    qingcloud_csi_is_default_classWhether to set QingCloud-CSI as default storage class, defaults to false
    qingcloud_access_key_id ,
    qingcloud_secret_access_key
    Please obtain it from QingCloud Console
    qingcloud_zoneZone should be the same as the zone where the Kubernetes cluster is installed, and the CSI plugin will operate on the storage volumes for this zone. For example: zone can be set to these values, such as sh1a (Shanghai 1-A), sh1b (Shanghai 1-B), pek2 (Beijing 2), pek3a (Beijing 3-A), pek3b (Beijing 3-B), pek3c (Beijing 3-C), gd1 (Guangdong 1), gd2a (Guangdong 2-A), ap1 (Asia Pacific 1), ap2a (Asia Pacific 2-A)
    typeThe type of volume in QingCloud platform. In QingCloud platform, 0 represents high performance volume. 3 represents super high performance volume. 1 or 2 represents high capacity volume depending on cluster‘s zone, see
    maxSize, minSizeLimit the range of volume size in GiB
    stepSizeSet the increment of volumes size in GiB
    fsTypeThe file system of the storage volume, which supports ext3, ext4, xfs. The default is ext4

    QingStor NeonSAN