Creating storage classes

Create storage classes in order to define the storage system pool name, secret reference, SpaceEfficiency, and fstype.

Procedure

Use the following procedure to create and apply the storage classes.

  1. Create a storage class yaml file, storageclass-gold.yaml.
    Update the capabilities, pools, and array secrets accordingly.
    Use the SpaceEfficiency parameters for each storage system, as defined in Table 1. These values are not case sensitive.
    Table 1. SpaceEfficiency parameter definitions per storage system type
    Storage system type SpaceEfficiency parameter options
    IBM FlashSystem A9000 and A9000R Always includes deduplication and compression.

    No need to specify during configuration.

    IBM Spectrum Virtualize Family
    • thin
    • compressed
    • deduplicated
    IBM DS8000 Family
    • standard (default value)
    • thin
    Note: If not specified, the default value is standard.
    • The IBM DS8000 Family pool value is VALUE_POOL_ID (and not VALUE_POOL_NAME as indicated in the example below).
    • The csi.storage.k8s.io/fstype parameter is optional. The values allowed are ext4 or xfs. The default value is ext4.
    • The volume_name_prefix parameter is optional.
      • For IBM DS8000 Family, the maximum prefix length is 5 characters.
      • The maximum prefix length for other systems is 20 characters.
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: gold
    provisioner: block.csi.ibm.com
    parameters:
      SpaceEfficiency: <VALUE>
      pool: <VALUE_POOL_NAME>
    
      csi.storage.k8s.io/provisioner-secret-name: <VALUE_ARRAY_SECRET>
      csi.storage.k8s.io/provisioner-secret-namespace: <VALUE_ARRAY_SECRET_NAMESPACE>
      csi.storage.k8s.io/controller-publish-secret-name: <VALUE_ARRAY_SECRET>
      csi.storage.k8s.io/controller-publish-secret-namespace: <VALUE_ARRAY_SECRET_NAMESPACE>
    
      # csi.storage.k8s.io/fstype: <xfs>
      # volume_name_prefix: <prefix_name>
  2. Apply the storage class.
    $> kubectl apply -f storageclass-gold.yaml

    The storageclass.storage.k8s.io/gold created message is emitted.