With the growing use of both public and private cloud environments, third-party storage integration has become increasingly important. This guide walks you through how to annotate third-party storage capabilities using a ConfigMap so your platform can recognize and surface those capabilities automatically.
Provide the following details in the form:
Field | Description |
---|---|
Name | Name of your new storage class. |
Storage Class | Select or define the storage class identifier. |
Provisioner | Enter the provisioner name used by your storage plugin. |
To enable capability annotations, create a ConfigMap in the kube-public
namespace with the appropriate label and data format.
sd-
, e.g., sd-configmap1
.kube-public
.features.alauda.io/type = StorageDescription
.provisioner
field in the storage class.Here are the supported fields you can define in the ConfigMap:
Capability | Field | Options | Default | Notes |
---|---|---|---|---|
Type | type | Filesystem , Block | — | If omitted or invalid, the type shows as unknown. |
Snapshot | snapshot | true , false | false | If false or invalid, snapshot creation via the form UI is disabled. |
Volume Mode | volumeMode | Filesystem , Block | Filesystem | PVCs with Block mode don’t support directory mounts. |
Access Mode | accessModes | ReadWriteOnce , ReadOnlyMany , ReadWriteMany , ReadWriteOncePod | — | If omitted or invalid, no access mode is selectable via the UI. ReadWriteOncePod isn't currently form-enabled. |
Once the above details are set:
provisioner
with the ConfigMap and annotate the storage class with the defined capabilities.When you create a Persistent Volume Claim (PVC) via the form UI, only the supported capabilities from the annotated ConfigMap will be available. Unsupported options will not appear.