Installing the Platform on a Microsoft Azure Cloud

On This Page

Overview

This guide outlines the required steps for installing (deploying) an instance of the Iguazio Data Science Platform (“the platform”) to a Microsoft Azure cloud. When you complete the procedure, you’ll have a platform instance running under your Azure account.

Troubleshooting
If you run into issues during the installation, check out the platform’s Azure-installation troubleshooting guide. For further assistance, contact Iguazio’s support team.

Prerequisites

Before you begin, ensure that you have the following:

  1. A Provazio API key and a Provazio vault URL, received from Iguazio.
  2. An Azure subscription ID.
  3. An Azure Resource Manager template file for deploying the platform mainTemplate.json.
  4. An Azure location (for example, “eastus2”) that’s capable of provisioning the number and overall size of the Azure instance types (VM sizes) that you plan to use from among those supported by the platform — see the Azure resource-calculation guide. The default data-node size is Standard_L16s_v2, and the default application-node size is Standard_D16s_v3. You can configure the application-node size in Step 4 (see the appVmSize parameter).
  5. A working Azure CLI.

Preparing to Install

Start out by performing the preliminary steps outlined in the Pre-Installation Steps Using the Azure CLI guide.

Deployment Steps

To deploy an instance of the platform in the Azure cloud, execute the following steps from a command-line shell that has the Azure CLI (installed as part of the pre-installation steps).

Step 1: Accept the Platform Terms | Step 2: Create an Azure Resource Group | Step 3 (Optional): Create an Azure Service Principal | Step 4: Deploy the Platform

Step 1: Accept the Platform Terms

Run the following Azure CLI command to accept the platform terms and conditions. Replace <Azure subscription ID> with your Azure subscription ID.

az vm image terms accept \
    --offer iguazio-data-science-platform-vm \
    --plan iguazio-data-science-platform-vm \
    --publisher iguazio-5069960 \
    --subscription <Azure subscription ID>

Step 2: Create an Azure Resource Group

Run the following Azure CLI command to create a new Azure resource group. Replace <location> with the name of your Azure location, and <resource-group name> with the name of the resource group that you want to create.

az group create --location <location> --name <resource-group name>

For example, the following command creates a resource group named “my-resource-group-0” for location “eastus2”:

az group create --location eastus2 --name my-resource-group-0

Step 3 (Optional): Create an Azure Service Principal

By default, the installer grants itself Contributor access to the resource group of the VNet in which the platform is provisioned, and you can safely skip this step. However, if you want to install the platform in an existing VNet that resides in a different resource group than that used for the platform deployment (created in Step 2), you must create an Azure service principal; save its tenant ID, subscription ID, client ID, and client secret; and provide this information to the platform installer as part of the deployment (see Step 4).

Note
The service principal must have Contributor roles in both the resource group containing the VNet and the resource group in which the platform is provisioned.

Step 4: Deploy the Platform

Run the following Azure CLI command to the start deploying a new platform instance.

az deployment group create \
    --resource-group <Azure Resource Group> \
    --template-file <Resource Template> \
    --name <Deployment Name>\
    --parameters <Deployment Parameters>

Replace the <...> placeholders with the information for your environment:

Azure Resource Group
The name of the Azure resource group that you created in Step 2.
Resource Template
Path to your mainTemplate.json Azure Resource Manager template file (see the installation prerequisites).
Deployment Name
A unique Azure deployment name (for example, “iguazio-deployment-0”), which is required by the Azure CLI. Note that platform identifies deployment instances by their custom platform name (ID) — see the systemId deployment parameter.
Deployment Parameters
Additional deployment parameters, as outlined in the following subsection.

Deployment Parameters

The –parameters deployment flag allows you to set additional deployment parameters for configuring various installation settings. The parameters are passed as a string containing space-separated <parameter name>=<parameter value> key-value pairs.

Required Deployment Parameters

The following deployment parameters are required

apiKey
A Provazio API key, received from Iguazio (see the installation prerequisites).
vaultUrl
A Provazio vault URL, received from Iguazio (see the installation prerequisites).
adminUsername
A username for logging into the platform dashboard. More users can be added later.
adminPassword
A user password for logging into platform dashboard. This can be changed later.
Optional Deployment Parameters
ownerName
A free-text platform-owner string that contains your name or email address, for bookkeeping.
systemId

A platform name (ID) of your choice (for example, “my-platform-0”). The installer prepends this value to the value of systemDomain parameter to create the full platform domain.

  • Valid Values: A string of 1–12 characters; can contain lowercase letters (a–z) and hyphens (-); must begin with a lowercase letter
  • Default Value: A randomly generated lowercase string
systemDomain

A custom platform domain (for example, “my-domain.com”). The installer prepends the value of the systemId parameter to this value to create the full platform domain.

  • Default Value: "iguazio-c0.com"
vnetName

The name of an existing VNet in which to provision the platform.

  • Default Behavior: If this parameter isn’t set, a new VNet named “<system ID>-vnet” is created.
vnetSubnetName

The name of the subnet in which to provision the platform.

  • Default Behavior: If this parameter isn’t set, a new subnet named “<system ID>-subnet” is created.
vnetResourceGroup

The resource group of the configured platform VNet (see the vnetName parameter). To set this parameter, you must first create an Azure service principal, as outlined in Step 3.

  • Default Value: The resource group that’s used for the platform deployment (–resource-group Azure Resource Group)

vnetAddressPrefix

The CIDR of the newly created VNet; applicable only when the vnetName parameter isn’t set (resulting in the creation of a new VNet).

  • Default Value: "172.38.0.0/16"
numDataNodes

The number of platform data nodes (VMs).

  • Valid Values: 1 or 3
numAppNodes

The number of platform application nodes (VMs).

  • Valid Values: 1N
appVmSize

Application-node size, as an Azure general-purpose VM size. For the supported sizes, see the Azure resource-calculation guide.

  • Default Value: Standard_D16s_v3
whitelistedCidrs

A list of classless inter-domain routing (CIDR) addresses to be granted access to the platform’s service port (for example, “10.0.0.0/16,40.10.10.31/32”). This parameter is typically relevant when the platform has public IP addresses (when allocatePublicIpAddresses is set to true).

  • Default Value: An empty list ("")
allocatePublicIpAddresses

Set to true to allocate public IP addresses for all platform nodes (VMs).

  • Default Value: false
whitelistIguazioNetwork

Set to true to allow Iguazio’s support team to access the platform nodes from the Iguazio network. This parameter is applicable only when the platform has public IP addresses (see the allocatePublicIpAddresses parameter).

  • Default Value: false
Security-Principal Parameters

If you created a service principal (see Step 3), you must also set the following parameters:

spTenantId
The tenant ID of the service principal.
spSubscriptionId
The subscription ID of the service principal.
spClientId
The client iD of the service principal.
spClientSecret
The client secret of the service principal.

Example

az deployment group create \
    --resource-group my-resource-group-0 \
    --template-file /home/installer/mainTemplate.json  \
    --name iguazio-deployment-0 \
    --parameters apiKey='myapikey' vaultUrl='https://vault.trial.provazio.iguazio.com' adminUsername=admin adminPassword=mypassword ownerName='John Doe' systemId=my-platform-0 systemDomain=my-domain.com allocatePublicIpAddresses=true whitelistIguazioNetwork=true

Deployment Note

The deployment requires the command-line shell to remain open only until a “Running” message is displayed (typically, approximately 10 minutes after running the deployment command). The deployment takes approximately two hours. The Azure CLI has a fixed timeout period of 1.5 hours, so the command line shows a timeout indication during the deployment process, even though the deployment is still running. This is the expected behavior and no action is needed on your part. After Iguazio’s support engineers confirm that the deployment completed successfully, they will guide you on how to log into the platform, and Iguazio’s customer-success team will initiate a getting-started session to help you with your first steps.

Post-Deployment Steps

When the deployment completes, follow the post-deployment steps.

See Also