How to use Azure UltraSSD Disks in OpenShift 4

Solution Verified - Updated -

Environment

  • Red Hat OpenShift Container Platform (RHOCP)
    • 4
  • Azure Red Hat OpenShift (ARO)
    • 4
  • Azure Ultra Disks (UltraSSD_LRS)

Issue

  • Trying to configure a StorageClass with UltraSSD_LRS skuname in OCP 4, there is an error:

    StorageAccountType UltraSSD_LRS can be used only when additionalCapabilities.ultraSSDEnabled is set.
    
  • Is it possible to use UltraSSD Disks as OS disk in OpenShift 4?

Resolution

Disclaimer: Links contained herein to external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or their entities, products or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

Starting with OCP 4.11, it is possible to install OCP in Azure with Ultra Disks enabled. Note that it is needed that both the Azure region and zone offer Ultra storage. Refer to Additional Azure configuration parameters for additional information about the ultraSSDCapability parameter.

Ultra Disks are also available for newly installed ARO 4.11 clusters as per the Release Notes.

Note: Ultra Disks can not be used as OS disks, they can only be created as empty data disks as explained in the "GA scope and limitations" section of Using Azure ultra disks documentation.

Workaround for previous releases

For clusters installed before OCP 4.11, or without the ultraSSDCapability parameter, it is possible to update the VMs created by an IPI installation to enable the capability to use Ultra Disks as the Azure documentation, setting to true the --ultra-ssd-enabled property: az vm update

Root Cause

As the documentation (Creating the Azure storage class), it is possible to configure Ultra Disks in a StorageClass. But in IPI installations, the UltraSSD capability is not enabled by default. It is needed to enable that capability in the VMs to allow them to use that kind of disks.

Both the Azure region and zone needs to offer Ultra storage to be able to use it.

Diagnostic Steps

Create a StorageClass with storage account type (skuname) UltraSSD_LRS:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: managed-ultra
provisioner: kubernetes.io/azure-disk
parameters:
  skuname: UltraSSD_LRS
  kind: Managed
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments