Azure NetApp files management with the CLI
You can manage the NetApp Files setup using the CLI. This can be helpful for automating setup and teardown of workbenches as Cloudera AI project needs change.
Create an Azure NetApp Files account
The following code sample creates an Azure NetApp Files account.
az netappfiles account create \ --account-name my-anf-account \ --resource-group
my-cdp-resource-group \ --location westus2
Create a capacity pool
A capacity pool is a storage container for volumes, which are accessed directly by Cloudera AI. The minimum size for an Azure NetApp Files capacity pool is 4 TiB
MINIMUM_POOL_SIZE=4 # 4 TiB is the minimum az netappfiles pool create \
--account-name my-anf-account \ --pool-name my-anf-pool \ --resource-group my-cdp-resource-group
\ --service-level Standard \ --location westus2 \ --size ${MINIMUM_POOL_SIZE}
Create a volume
Create one or more volumes in the capacity pool. The "Usage threshold" is referred to as the "quota" in the Azure web portal. It is measured in GiB. The volume must support the NFSv3 protocol (which is the default).
az netappfiles volume create \ --account-name my-anf-account \ --pool-name
my-anf-account \ --volume-name my-anf-volume \ --resource-group my-cdp-resource-group \
--location westus2 \ --file-path my-anf-volume \ --usage-threshold 1000 \ --vnet my-cdp-vnet \
--subnet my-anf-subnet \ --service-level Standard
The mount path for this volume, or a dedicated, empty subdirectory inside that volume, must be provided for the "Existing NFS" field when provisioning Cloudera AI Workbench. It can be found in the "Mount Instructions" blade of the volume in the Azure portal.
Since each capacity pool has a large minimum, and each volume requires a dedicated subnet, users may wish to have a single volume that is shared between workbenches. This can be managed by having a VM that has the Azure volume mounted (instructions for doing this are also in the "Mount Instructions" blade of the volume in the Azure portal). This VM can then be used to quickly manage directories for individual workbenches on a single, shared volume. For instance:
USER= # username for accessing management VM
VM= # IP address or hostname for accessing management VM
VOLUME= # NFS volume name
WORKBENCH= # Cloudera AI workbench name (or other unique directory name)
ssh ${USER}@${VM} "sudo mkdir ${VOLUME}/${workbench}; sudo chown 8536:8536 ${VOLUME}/${WORKBENCH}"
# ...
ssh ${USER}@${VM} "sudo rm -r ${VOLUME}/${WORKBENCH}"