|
| 1 | +--- |
| 2 | +title: Plan your CycleCloud Workspace for Slurm Deployment |
| 3 | +description: A checklist to help plan for your CycleCloud Workspace for Slurm deployment |
| 4 | +author: xpillons |
| 5 | +ms.date: 08/22/2024 |
| 6 | +ms.author: xpillons |
| 7 | +--- |
| 8 | + |
| 9 | +# Plan your CycleCloud Workspace for Slurm Deployment |
| 10 | +You can deploy either a greenfield environment in which all resources needed for Azure CycleCloud Workspace for Slurm will be provisioned for you or a brownfield deployment for which you will provide existing resources. |
| 11 | + |
| 12 | +When doing a deployment, the Azure user account used need to be granted the following roles: |
| 13 | +- `Contributor` on the Subscription |
| 14 | +- `User Access Administrator` on the Subscription |
| 15 | + |
| 16 | +## Greenfield Deployment |
| 17 | + |
| 18 | +In a greenfield deployment, the following resources and role assignments will be created: |
| 19 | +- Resource Group |
| 20 | +- The Virtual Network, its subnets `ccw-cyclecloud-subnet`, and `ccw-compute-subnet` |
| 21 | +- The Virtual Machine `ccw-cyclecloud-vm`, NIC, OS, Data Disks, and a System Managed Identity |
| 22 | +- A uniquely named storage account for CycleCloud projects |
| 23 | +- Network Security Group named `nsg-ccw-common` |
| 24 | +- `Contributor`, `Storage Account Contributor`, and `Storage Blob Data Contributor` roles at the subscription level for the CycleCloud VM System Managed Identity |
| 25 | +- Optionally a Bastion, subnet `AzureBastionSubnet`, and public IP `bastion-pip` |
| 26 | +- Optionally a NAT gateway named `ccw-nat-gateway` and public IP `pip-ccw-nat-gateway` |
| 27 | +- Optionally an Azure NetApp Files account, pool, and volume with subnet `hpc-anf-subnet` |
| 28 | +- Optionally an Azure Managed Lustre Filesystem with subnet `ccw-lustre-subnet` |
| 29 | +- Optionally a VNET Peering |
| 30 | +- Optionally a Private Endpoint to an existing Azure Database for MySQL flexible server instance |
| 31 | + |
| 32 | +## Brownfield Deployment |
| 33 | +You will be able to provide existing resources for: |
| 34 | +- The VNET and subnets in which the environment will be deployed |
| 35 | +- Filesystem Storage for the users's home directories and/or additional filers, as external NFS mount points or Azure Managed Lustre Filesystem |
| 36 | +- an Azure Database for MySQL flexible server instance for Slurm Job Accounting |
| 37 | + |
| 38 | +If you bring your own VNET you have to follow these pre-requisistes: |
| 39 | +- a /29 **cyclecloud** subnet for the CycleCloud VM, with `Microsoft.Storage` Service Endpoint assigned, |
| 40 | +- a **compute** subnet for the nodes, with `Microsoft.Storage` Service Endpoint assigned. This is where the scheduler, login, and compute nodes will be created |
| 41 | +- when using Azure NetApp Files, a dedicated **netapp** subnet with the `Microsoft.NetApp/volumes` delegation as documented here [Azure NetApp Files](/azure/azure-netapp-files/azure-netapp-files-introduction). |
| 42 | +- when using Azure Managed Lustre Filesystem, a dedicated **lustre** subnet with a CIDR based on the storage capacity to provision as documented here [Azure Managed Lustre](/azure/azure-managed-lustre/amlfs-overview) |
| 43 | +- if deploying a Bastion, a dedicated **BastionSubnet** as documented [here](/azure/bastion/configuration-settings#subnet) |
| 44 | +- Your NSGs should allow communications between subnets as defined in the [bicep/network-new.bicep](https://github.com/Azure/cyclecloud-slurm-workspace/blob/main/bicep/network-new.bicep) file. |
| 45 | + |
| 46 | +## Quotas |
| 47 | +Before deploying, ensure that your subscription has the required quota for the Virtual Machine types desired for CycleCloud nodes. |
0 commit comments