Wallaroo Community Install Guide for Microsoft Azure

How to set up Wallaroo Community in Microsoft Azure

This guide is targeted towards system administrators and data scientists who want to work with the easiest, fastest, and free method of running your own machine learning models.

A typical installation of Wallaroo Community follows this process:

StepDescription   Average Setup Time   
Download LicenseCreate an environment that meets the Wallaroo prerequisites5 minutes
Set Up EnvironmentSet up the cloud environment hosting the Wallaroo instance.30 minutes
Install WallarooInstall Wallaroo into a prepared environment15 minutes

Register Your Wallaroo Community Account

The first step to installing Wallaroo CE is to set up your Wallaroo Community Account at the web site https://portal.wallaroo.community. This process typically takes about 5 minutes.

Registration Portal

Once you’ve submitted your credentials, you’ll be sent an email with a link to your license file.

Invitation Email

Follow the link and download your license file. Store it in a secure location.

Download license

Redownload License

If your license is misplaced or otherwise lost, it can be downloaded again later from the same link, or by following the registration steps again to be provided with a link to your license file.

  • Setup Azure Environment for Wallaroo

The following instructions are made to assist users set up their Microsoft Azure Kubernetes environment for running Wallaroo Community. These represent a recommended setup, but can be modified to fit your specific needs.

If your prepared to install the environment now, skip to Setup Environment Steps.

There are two methods we’ve detailed here on how to setup your Kubernetes cloud environment in Azure:

  • Quick Setup Script: Download a bash script to automatically set up the Azure environment through the Microsoft Azure command line interface az.
  • Manual Setup Guide: A list of the az commands used to create the environment through manual commands.

The following video demonstrates the manual guide:

  • Azure Prerequisites

To install Wallaroo in your Microsoft Azure environment, the following prerequisites must be met:

  • Register a Microsoft Azure account: https://azure.microsoft.com/.
  • Install the Microsoft Azure CLI and complete the Azure CLI Get Started Guide to connect your az application to your Microsoft Azure account.
  • The Kubernetes cluster must include the following minimum settings:
    • Nodes must be OS type Linux the containerd driver as the default.
    • Role-based access control (RBAC) must be enabled.
    • Minimum of 4 nodes, each node with a minimum of 8 CPU cores and 16 GB RAM. 50 GB will be allocated per node for a total of 625 GB for the entire cluster.
    • RBAC is enabled.
    • Minimum machine type is set to to Standard_D8s_v4.
  • Azure Cluster Recommendations

The following recommendations will assist in reducing the cost of a cloud based Kubernetes Wallaroo cluster.

  • Turn off the cluster when not in use. An Azure Kubernetes Service (AKS) cluster can be turn off when not in use, then turned back on again when needed to save on costs. For more information on starting and stopping an AKS cluster, see the Stop and Start an Azure Kubernetes Service (AKS) cluster guide.

    If organizations adopt this process, be aware of the following issues:

  • Assign to a Single Availability Zone: Clusters that span multiple availability zones may have issues accessing persistent volumes that were provisioned in another availability zone from the node when the cluster is restarted. The simple solution is to assign the entire cluster into a single availability zone. For more information in Microsoft Azure see the Create an Azure Kubernetes Service (AKS) cluster that uses availability zones guide.

    The scripts and configuration files are set up to create the Azure environment for a Wallaroo instance are based on a single availability zone. Modify the script as required for your organization.

Variable NameDefault ValueDescription
WALLAROO_RESOURCE_GROUPwallaroocegroupThe Azure Resource Group used for the Kubernetes environment.
WALLAROO_GROUP_LOCATIONeastusThe region that the Kubernetes environment will be installed to.
WALLAROO_CONTAINER_REGISTRYwallarooceacrThe Azure Container Registry used for the Kubernetes environment.
WALLAROO_CLUSTERwallarooceaksThe name of the Kubernetes cluster that Wallaroo is installed to.
WALLAROO_SKU_TYPEBaseThe Azure Kubernetes Service SKU type.
WALLAROO_NODEPOOLwallaroocepoolThe main nodepool for the Kubernetes cluster.
WALLAROO_VM_SIZEStandard_D8s_v4The VM type used for the standard Wallaroo cluster nodes.
WALLAROO_CLUSTER_SIZE4The number of nodes in the cluster.
  • Quick Setup Script

The following sample script creates an Azure Kubernetes environment ready for use with Wallaroo Community. This script requires the following prerequisites listed above.

Modify the installation file to fit for your organization. The only parts that require modification are the variables listed in the beginning as follows:

The following script is available for download: wallaroo_community_azure_install.bash

The following steps are geared towards a standard Linux or macOS system that supports the prerequisites listed above. Modify these steps based on your local environment.

  1. Download the script above.

  2. In a terminal window set the script status as execute with the command chmod +x wallaroo_community_azure_install.bash.

  3. Modify the script variables listed above based on your requirements.

  4. Run the script with either bash wallaroo_community_azure_install.bash or ./wallaroo_community_azure_install.bash from the same directory as the script.

    Azure Quick Setup Script
  • Manual Setup Guide

The following steps are guidelines to assist new users in setting up their Azure environment for Wallaroo. Feel free to replace these with commands with ones that match your needs.

See the Azure Command-Line Interface for full details on commands and settings.

The following are used for the example commands below. Replace them with your specific environment settings:

  • Azure Resource Group: wallarooCEGroup
  • Azure Resource Group Location: eastus
  • Azure Container Registry: wallarooCEAcr
  • Azure Kubernetes Cluster: wallarooCEAKS
  • Azure Container SKU type: Base
  • Azure Nodepool Name: wallarooCEPool

Setting up an Azure AKS environment is based on the Azure Kubernetes Service tutorial, streamlined to show the minimum steps in setting up your own Wallaroo environment in Azure.

This follows these major steps:

  • Create an Azure Resource Group

  • Create an Azure Container Registry

  • Create the Azure Kubernetes Environment

  • Set Variables

The following are the variables used in the environment setup process. Modify them as best fits your organization’s needs.

WALLAROO_RESOURCE_GROUP=wallaroocegroupdocs
WALLAROO_GROUP_LOCATION=eastus
WALLAROO_CONTAINER_REGISTRY=wallarooceacrdocs
WALLAROO_CLUSTER=wallarooceaksdocs
WALLAROO_SKU_TYPE=Base
WALLAROO_NODEPOOL=wallaroocepool
WALLAROO_VM_SIZE=Standard_D8s_v4
WALLAROO_CLUSTER_SIZE=4
  • Create an Azure Resource Group

To create an Azure Resource Group for Wallaroo in Microsoft Azure, use the following template:

az group create --name $WALLAROO_RESOURCE_GROUP --location $WALLAROO_GROUP_LOCATION

(Optional): Set the default Resource Group to the one recently created. This allows other Azure commands to automatically select this group for commands such as az aks list, etc.

az configure --defaults group=$WALLAROO_RESOURCE_GROUP
  • Create an Azure Container Registry

An Azure Container Registry(ACR) manages the container images for services includes Kubernetes. The template for setting up an Azure ACR that supports Wallaroo is the following:

az acr create -n $WALLAROO_CONTAINER_REGISTRY -g $WALLAROO_RESOURCE_GROUP --sku $WALLAROO_SKU_TYPE --location $WALLAROO_GROUP_LOCATION
  • Create an Azure Kubernetes Services

And now we can create our Kubernetes service in Azure that will host our Wallaroo that meet the prerequisites. Modify the settings to meet your organization’s needs. This creates a 4 node cluster with a total of 32 cores.

az aks create \
--resource-group $WALLAROO_RESOURCE_GROUP \
--name $WALLAROO_CLUSTER \
--node-count $WALLAROO_CLUSTER_SIZE \
--generate-ssh-keys \
--vm-set-type VirtualMachineScaleSets \
--load-balancer-sku standard \
--node-vm-size $WALLAROO_VM_SIZE \
--nodepool-name $WALLAROO_NODEPOOL \
--nodepool-name mainpool \
--attach-acr $WALLAROO_CONTAINER_REGISTRY \
--kubernetes-version=1.23.8 \
--zones 1 \
--location $WALLAROO_GROUP_LOCATION
  • Download Wallaroo Kubernetes Configuration

Once the Kubernetes environment is complete, associate it with the local Kubernetes configuration by importing the credentials through the following template command:

az aks get-credentials --resource-group $WALLAROO_RESOURCE_GROUP --name $WALLAROO_CLUSTER

Verify the cluster is available through the kubectl get nodes command.

kubectl get nodes

NAME                               STATUS   ROLES   AGE   VERSION
aks-mainpool-37402055-vmss000000   Ready    agent   81m   v1.23.8
aks-mainpool-37402055-vmss000001   Ready    agent   81m   v1.23.8
aks-mainpool-37402055-vmss000002   Ready    agent   81m   v1.23.8
aks-mainpool-37402055-vmss000003   Ready    agent   81m   v1.23.8

Install Wallaroo Community

Wallaroo Community can be installed into a Kubernetes cloud environment, or into a Kubernetes environment that meets the Wallaroo Prerequisites Guide. Organizations that use the Wallaroo Community AWS EC2 Setup procedure do not have to set up a Kubernetes environment, as it is already configured for them.

If the prerequisites are already configured, jump to Install Wallaroo to start installing.

This video demonstrates that procedure:

The procedure assumes at least a basic knowledge of Kubernetes and how to use the kubectl and kots version 1.91.3 applications.

The procedure involves the following major steps:

Prerequisites

Local Software Requirements

Before starting, verify that all local system requirements are complete as detailed in the Wallaroo Community Local System Prerequisites guide:

  • kubectl: This interfaces with the Kubernetes server created in the Wallaroo environment.

    • For Kots based installs:
    • Cloud Kubernetes environment has been prepared.
    • You have downloaded your Wallaroo Community License file.

    Install Wallaroo

    The environment is ready, the tools are installed - let’s install Wallaroo! The following will use kubectl and kots through the following procedure:

    1. Install the Wallaroo Community Edition using kots install wallaroo/ce, specifying the namespace to install. For example, if wallaroo is the namespace, then the command is:

      kubectl kots install wallaroo/ce --namespace wallaroo
      
    2. Wallaroo Community Edition will be downloaded and installed into your Kubernetes environment in the namespace specified. When prompted, set the default password for the Wallaroo environment. When complete, Wallaroo Community Edition will display the URL for the Admin Console, and how to end the Admin Console from running.

      • Deploying Admin Console
      • Creating namespace ✓
      • Waiting for datastore to be ready ✓
          Enter a new password to be used for the Admin Console: •••••••••••••
        • Waiting for Admin Console to be ready ✓
      
      • Press Ctrl+C to exit
      • Go to http://localhost:8800 to access the Admin Console
      

    Wallaroo Community edition will continue to run until terminated. To relaunch in the future, use the following command:

    kubectl-kots admin-console --namespace wallaroo
    

    Initial Configuration and License Upload Procedure

    Once Wallaroo Community edition has been installed for the first time, we can perform initial configuration and load our Wallaroo Community license file through the following process:

    1. If Wallaroo Community Edition has not started, launch it with the following command:

      ❯ kubectl-kots admin-console --namespace wallaroo
        • Press Ctrl+C to exit
        • Go to http://localhost:8800 to access the Admin Console
      
    2. Enter the Wallaroo Community Admin Console address into a browser. You will be prompted for the default password as set in the step above. Enter it and select Log in.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-admin-console-initial-login.png"
               alt="Wallaroo Admin Console Initial Login" width="800"/> 
      </figure>
      
    3. Upload your license file.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-upload-license-file.png"
               alt="Wallaroo Admin Upload License" width="800"/> 
      </figure>
      
    4. The Configure Wallaroo Community page will be displayed which allows you to customize your Wallaroo environment. For now, scroll to the bottom and select Continue. These settings can be customized at a later date.

    5. The Wallaroo Community Admin Console will run the preflight checks to verify that all of the minimum requirements are not met. This may take a few minutes. If there are any issues, Wallaroo can still be launched but may not function properly. When ready, select Continue.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-preflight-successful.png"
               alt="Wallaroo Admin Preflight Successful" width="800"/> 
      </figure>
      
    6. The Wallaroo Community Dashboard will be displayed. There may be additional background processes that are completing their setup procedures, so there may be a few minute wait until those are complete. If everything is ready, then the Wallaroo Dashboard will show a green Ready.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-admin-console-ready.png"
               alt="Wallaroo Admin Admin Ready" width="800"/> 
      </figure>
      
    7. Under the license information is the DNS entry for your Wallaroo instance. This is where you and other users of your Wallaroo instance can log in. In this example, the URL will be https://beautiful-horse-9537.wallaroo.community. Note that it may take a few minutes for the DNS entries to propagate and this URL to be available.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-instance-url.png"
               alt="Wallaroo Instance URL" width="800"/> 
      </figure>
      
    8. You will receive an email invitation for the email address connected to this URL with a temporary password and a link to this Wallaroo instance’s URL. Either enter the URL for your Wallaroo instance or use the link in the email.

    9. To login to your new Wallaroo instance, enter the email address and temporary password associated with the license.

      <figure>
          <img src="/images/2023.4.1/wallaroo-community/wallaroo-community-initial-login.png"
               alt="Wallaroo Initial Login" width="800"/> 
      </figure>
      

    With that, Wallaroo Community edition is launched and ready for use! You can end the Admin Console from your terminal session above. From this point on you can just use the Wallaroo instance URL.

    Now that your Wallaroo Community edition has been installed, let’s work with some sample models to show off what you can do. Check out either the Wallaroo 101 if this is your first time using Wallaroo, or for more examples of how to use Wallaroo see the Wallaroo Tutorials.

    Troubleshooting