Expired content

The documentation described on this page may be obsolete and contain references to unsupported and deprecated software. Please reach out to your HPE representative if you think you need any of the components referenced within.

Introduction

The HPE Cloud Volumes CSP integrates seamlessly with the HPE Cloud Volumes Block service in the public cloud. The CSP abstracts the data management capabilities of the storage service for use by Kubernetes. The documentation found herein is mainly geared towards day-2 operations and reference documentation for the StorageClass and VolumeSnapshotClass parameters but also contains important HPE Cloud Volumes Block configuration details.

Important

The HPE Cloud Volumes CSP is currently in beta and available as a Tech Preview on Amazon EKS only. Please see the 1.5.0-beta Helm chart.

Seealso

There's a Tech Preview available in the Video Gallery on how to get started with the HPE Cloud Volumes CSP with the HPE CSI Driver.

Cloud requirements

Always check the corresponding CSI driver version in compatibility and support for basic requirements (such as supported Kubernetes version and cloud instance OS). If a certain feature is gated against any particular cloud provider it will be called out where applicable.

Hyperscaler Managed Kubernetes BYO Kubernetes Status
Amazon Web Services Elastic Kubernetes Service (EKS) N/A Tech Preview
Microsoft Azure Azure Kubernetes Service (AKS) TBA TBA
Google Cloud Google Kubernetes Engine (GKE) TBA TBA

Additional hyperscaler support and BYO capabilities may become available in a future release of the CSP.

Instance metadata

Kubernetes compute nodes will need to have access to the cloud provider's metadata services. This varies by cloud provider and is taken care of automatically by the HPE Cloud Volume CSP. The provided values may be overridden in the StorageClass, see common parameters for more information.

Available regions

The HPE Cloud Volumes CSP may be deployed in the regions where the managed Kubernetes service control planes intersect with the HPE Cloud Volumes Block service.

Region EKS Azure Google
Americas us-east-1, us-west-2 TBA TBA
Europe eu-west-1, eu-west-2 TBA TBA
Asia Pacific ap-northest-1 TBA TBA

Consider this table a snapshot of a particular moment in time and consult with the respective hyperscalers and the HPE Cloud Volumes Block service for definitive availability.

Note

In other regions where HPE Cloud Volumes provide services, such as us-west-1, but cloud providers has no managed Kubernetes service; BYO Kubernetes is the only available option when it becomes available as a supported feature of the CSP.

Limitations

Consult the compatibility and support table for generic limitations and requirements. CSI and CSP specific limitations with HPE Cloud Volumes Block is listed below.

  • The Volume Group Provisioner and Volume Group Snapshotter sidecars are currently not implemented in the HPE Cloud Volumes CSP.
  • The base CSI driver parameter description is ignored by the CSP.
  • In some cases, your a "regionID" needs to be supplied in the StorageClass and in conjunction with Ephemeral Inline Volumes. Your "regionID" may only be found in the APIs. Join us on Slack if you're hitting this issue (it can be seen in the CSP logs).

Tip

While not a limitation, iSCSI CHAP is mandatory with HPE Cloud Volumes but does not need to be configured within the CSI driver. The CHAP credentials are queried through the REST APIs from the HPE Cloud Volumes account session and applied automatically during runtime.

StorageClass parameters

A StorageClass is used to provision or clone an HPE Cloud Volumes Block-backed persistent volume. It can also be used to import an existing Cloud Volume or clone of a snapshot into the Kubernetes cluster. The parameters are grouped below by those same workflows.

Please see using the HPE CSI Driver for base StorageClass examples. All parameters enumerated reflects the current version and may contain unannounced features and capabilities.

Note

All parameters are optional unless documented as mandatory for a particular use case.

Common parameters for provisioning and cloning

These parameters are mutable between a parent volume and creating a clone from a snapshot.

Parameter String Description
destroyOnDelete Boolean Indicates the backing Cloud Volume (including snapshots) should be destroyed when the PVC is deleted. Defaults to "false" which means volumes needs to be pruned manually in the Cloud Volume service.
limitIops Integer The IOPS limit of the volume. The IOPS limit should be in the range 300 (default) to 20000.
performancePolicy1 Text The name of the performance policy to assign to the volume. Available performance policies: "Exchange", "Oracle", "SharePoint", "SQL", "Windows File Server". Defaults to "Other Workloads".
schedule Text Snapshot schedule to assign to the volumes. Available schedules: "hourly", "daily", "twicedaily", "weekly", "monthly", "none". Defaults to "daily".
retentionPolicy Integer Retention policy to assign to the schedule. The parameter must be paired properly with the schedule.

  • hourly: 6, 12, 24
  • daily: 3, 7, 14
  • twicedaily: 4, 8, 14
  • weekly: 2, 4, 8
  • monthly: 3, 6, 12
Defaults to "3" paired with the "daily" retentionPolicy.
privateCloud1 Text Override the compute instance provided VPC/VNET.
existingCloudSubnet1 Text Override the compute instance provided subnet.
automatedConnection1 Boolean Override the HPE Cloud Volumes configured setting for connection automation. Connections between HPE Cloud Volumes and the desired VPC/VNET needs to be provisioned manually if set to "false".

Restrictions applicable when using the CSI volume mutator:
1 = Parameter is immutable and can't be altered after provisioning/cloning.

Provisioning parameters

These parameters are immutable for both volumes and clones once created, clones will inherit parent attributes.

Parameter String Description
volumeType Text Volume type, General Purpose Flash ("GPF") or Premium Flash ("PF"). Defaults to "PF"

Pod inline volume parameters (Local Ephemeral Volumes)

These parameters are applicable only for Pod inline volumes and to be specified within Pod spec.

Parameter String Description
csi.storage.k8s.io/ephemeral Boolean Indicates that the request is for ephemeral inline volume. This is a mandatory parameter and must be set to "true".
inline-volume-secret-name Text A reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume call.
inline-volume-secret-namespace Text The namespace of inline-volume-secret-name for ephemeral inline volume.
size Text The size of ephemeral volume specified in MiB or GiB. If unspecified, a default value will be used.

Important

All parameters are required for inline ephemeral volumes.

Cloning parameters

Cloning supports two modes of cloning. Either use cloneOf and reference a PVC in the current namespace or use importVolAsClone and reference a Cloud Volume name to clone and import to Kubernetes.

Parameter String Description
cloneOf Text The name of the PV to be cloned. cloneOf and importVolAsClone are mutually exclusive.
importVolAsClone Text The name of the Cloud Volume to clone and import. importVolAsClone and cloneOf are mutually exclusive.
snapshot Text The name of the snapshot to base the clone on. This is optional. If not specified, a new snapshot is created.
createSnapshot Boolean Indicates that a new snapshot of the volume should be taken matching the name provided in the snapshot parameter. If the snapshot parameter is not specified, a default name will be created.
replStore Text Name of the Cloud Volume Replication Store to look for volumes, defaults to look outside of Replication Stores

Import parameters

Importing volumes to Kubernetes requires the source Cloud Volume to be disconnected.

Parameter String Description
importVolumeName Text The name of the Cloud Volume to import.
forceImport Boolean Allows import of volumes created on a different Kubernetes cluster other than the one importing the volume to.

VolumeSnapshotClass parameters

These parametes are for VolumeSnapshotClass objects when using CSI snapshots. The external snapshotter needs to be deployed on the Kubernetes cluster and is usually performed by the Kubernetes vendor. Check enabling CSI snapshots for more information.

How to use VolumeSnapshotClass and VolumeSnapshot objects is elaborated on in using CSI snapshots.

Parameter String Description
description Text Text to be added to the snapshot's description in the Cloud Volume service (optional)