Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You can install Azure CycleCloud on Azure resources by using an Azure Resource Manager template (ARM template) that you store on GitHub. The ARM template takes care of most of the CycleCloud setup. The ARM template:
- Deploys a virtual network with three separate subnets:
- cycle: The subnet where the CycleCloud server starts
- compute: A /22 subnet for the High Performance Computing (HPC) clusters
- user: The subnet for creating user authentications
- Provisions a VM in the cycle subnet and installs Azure CycleCloud on it.
The recommended method of installing CycleCloud is via the CycleCloud Marketplace Image. For more information, see the CycleCloud Marketplace Installation Quickstart. You can also install CycleCloud manually, which gives you greater control over the installation and configuration process. For more information, see the Manual CycleCloud Installation Quickstart.
Prerequisites
You need:
- An Azure account with an active subscription.
- A Shell session in a terminal.
- If you're using a Windows machine, use the browser-based Bash shell.
- For non-Windows machines, install and use Azure CLI v2.0.20 or later. Run
az --version
to find your current version. If you need to install or upgrade, see Install Azure CLI 2.0.
Open Azure Cloud Shell
Azure Cloud Shell is a free, interactive shell that you can use to run the steps in this article. Common Azure tools are preinstalled and configured in Cloud Shell for you to use with your account. Just select the Copy button to copy the code, paste it in Cloud Shell, and then press Enter to run it. There are a few ways to open Cloud Shell:
Select the green Try It button in the upper-right corner of a code block. | ![]() |
---|---|
Open Cloud Shell in your browser. | Launch Cloud Shell |
Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. | ![]() |
Service principal
Azure CycleCloud needs a service principal with contributor access to your Azure subscription. If you don't have a service principal, you can create one. Your service principal name must be unique. In the following example, CycleCloudApp can be replaced with any name you choose:
az ad sp create-for-rbac --name CycleCloudApp --years 1
The output displays several parameters. Save the appId
, password
, and tenant
values:
"appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"displayName": "CycleCloudApp",
"name": "http://CycleCloudApp",
"password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
SSH keypair
You need an SSH key to sign in to the CycleCloud VM and clusters. Generate an SSH keypair:
ssh-keygen -f ~/.ssh/id_rsa -m pem -t rsa -N "" -b 4096
Note
The Python cryptography library used by the CycleCloud CLI doesn't support the newer OpenSSH serialization format. Use ssh-keygen -m pem
to generate the key with the older standard format.
Get the SSH public key with:
cat ~/.ssh/id_rsa.pub
The output starts with ssh-rsa
followed by a long string of characters. Copy and save this key now.
On Linux, follow these instructions on GitHub to generate a new SSH keypair.
Deploy Azure CycleCloud
Select the following button to deploy Azure CycleCloud into your subscription:
Enter the required information.
Basics:
- Subscription: If you have more than one active Azure subscription, select the one to use here
- Resource Group: Enter the name of a new resource group that holds everything generated by this quickstart (for example,
MyQuickstart
) - Location: Select a region in which to store your instance
Settings:
- Tenant ID: The
tenant
from the service principal - Application ID: The
appId
from the service principal - Application Secret: The
password
from the service principal - SSH Public Key: The public key you use to sign in to the CycleCloud VM
- Username: The username for the CycleCloud VM. Use your Azure portal username without the domain (for example, johnsmith instead of [email protected])
Use the default values for the other fields. Agree to the terms and conditions, and select Purchase. The CycleCloud product is free, but you pay for the core hours you use in Azure.
The deployment process runs an installation script as a custom script extension, which installs and sets up CycleCloud. This process takes between 5 and 8 minutes.
Sign in to the CycleCloud application server
To connect to the CycleCloud webserver, get the Fully Qualified Domain Name (FQDN) of the CycleServer VM from either the Azure portal or the CLI:
# Replace "MyQuickstart" with the resource group you created above.
export RESOURCE_GROUP="MyQuickstart"
az network public-ip show -g ${RESOURCE_GROUP?} -n cycle-ip --query dnsSettings.fqdn
Browse to https://<FQDN>/
. The installation uses a self-signed SSL certificate, which might show up with a warning in your browser.
Create a Site Name for your installation. You can use any name:
The Azure CycleCloud End User License Agreement is displayed - accept it. You need to create a CycleCloud admin user for the application server. We recommend using the same user name you used earlier. Make sure the password you enter meets the listed requirements. Select Done to continue.
After you create your user, set your SSH key so you can more easily access any Linux VMs that CycleCloud creates. To add an SSH key, edit your profile by selecting your name in the upper right corner of the screen.
You now have a running CycleCloud application that lets you create and run clusters.
Note
You can customize the default CycleCloud configuration for specific environments by using settings in the $CS_HOME/config/cycle_server.properties file.