Wallaroo Prerequisites Guide
General Time to Completion: 30 minutes.
Before installing Wallaroo version, verify that the following hardware and software requirements are met.
Environment Requirements
Environment Hardware Requirements
The following system requirements are required for the minimum settings for running Wallaroo in a Kubernetes cloud cluster.
The following system requirements are required for the minimum settings for running Wallaroo in a Kubernetes cloud cluster.
- Minimum number of nodes: 4
- Minimum Number of CPU Cores: 8
- Minimum RAM per node: 16 GB
- Minimum Storage: A total of 625 GB of storage will be allocated for the entire cluster based on 5 users with up to four pipelines with five steps per pipeline, with 50 GB allocated per node, including 50 GB specifically for the Jupyter Hub service. Enterprise users who deploy additional pipelines will require an additional 50 GB of storage per lab node deployed.
Wallaroo recommends at least 16 cores total to enable all services. At less than 16 cores, services will have to be disabled to allow basic functionality as detailed in this table.
Note that even when disabling these services, Wallaroo performance may be impacted by the models, pipelines, and data used. The greater the size of the models and steps in a pipeline, the more resources will be required for Wallaroo to operate efficiently. Pipeline resources are set by the pipeline configuration to control how many resources are allocated from the cluster to maintain peak effectiveness for other Wallaroo services. See the following guides for more details.
- Wallaroo SDK Essentials Guide: Pipeline Deployment Configuration
- Wallaroo MLOps API Essentials Guide: Pipeline Management
Cluster Size | 8 core | 16 core | 32 core | Description | |
Inference | ✔ | ✔ | ✔ | The Wallaroo inference engine that performs inference requests from deployed pipelines. | |
Dashboard | ✔ | ✔ | ✔ | The graphics user interface for configuring workspaces, deploying pipelines, tracking metrics, and other uses. | |
Jupyter HUB/Lab | The JupyterHub service for running Python scripts, JupyterNotebooks, and other related tasks within the Wallaroo instance. | ||||
Single Lab | ✔ | ✔ | ✔ | ||
Multiple Labs | ✘ | ✔ | ✔ | ||
Prometheus | ✔ | ✔ | ✔ | Used for collecting and reporting on metrics. Typical metrics are values such as CPU utilization and memory usage. | |
Alerting | ✘ | ✔ | ✔ | ||
Model Validation | ✘ | ✔ | ✔ | ||
Dashboard Graphs | ✔ | ✔ | ✔ | ||
Plateau | ✘ | ✔ | ✔ | A Wallaroo developed service for storing inference logs at high speed. This is not a long term service; organizations are encouraged to store logs in long term solutions if required. | |
Model Insights | ✘ | ✔ | ✔ | ||
Python API | |||||
Model Conversion | ✔ | ✔ | ✔ | Converts models into a native runtime for use with the Wallaroo inference engine. |
To install Wallaroo with minimum services, a configuration file will be used as parts of the kots
based installation. For full details on the Wallaroo installation process, see the Wallaroo Install Guides.
Enterprise Network Requirements
The following network requirements are required for the minimum settings for running Wallaroo:
For Wallaroo Enterprise users: 200 IP addresses are required to be allocated per cloud environment.
For Wallaroo Community users: 98 IP addresses are required to be allocated per cloud environment.
DNS services integration is required for Wallaroo Enterprise edition. See the DNS Integration Guide for the instructions on configuring Wallaroo Enterprise with your DNS services.
DNS services integration is required to provide access to the various supporting services that are part of the Wallaroo instance. These include:
- Simplified user authentication and management.
- Centralized services for accessing the Wallaroo Dashboard, Wallaroo SDK and Authentication.
- Collaboration features allowing teams to work together.
- Managed security, auditing and traceability.
Environment Software Requirements
The following software or runtimes are required for Wallaroo 2023.2.1. Most are automatically available through the supported cloud providers.
Software or Runtime | Description | Minimum Supported Version | Preferred Version(s) |
---|---|---|---|
Kubernetes | Cluster deployment management | 1.23 | 1.25 |
containerd | Container Management | 1.7.0 | 1.7.0 |
kubectl | Kubernetes administrative console application | 1.26 | 1.26 |
Node Selectors
Wallaroo uses different nodes for various services, which can be assigned to a different node pool to contain resources separate from other nodes. The following nodes selectors can be configured:
- ML Engine node selector
- ML Engine Load Balance node selector
- Database Node Selector
- Grafana node selector
- Prometheus node selector
- Each Lab * Node Selector
- For Kots based installs:
- kots Version
1.91.3
- kots Version
- For Helm installs:
helm
: Install Helm.- Minimum supported version: Helm 3.11.2
krew
: Install Krewkrew preflight
andkrew support-bundle
.
Cost Calculators
Organizations that intend to install Wallaroo into a Cloud environment can obtain an estimate of environment costs. The Wallaroo Install Guides list recommended virtual machine types and other settings that can be used to calculate costs for the environment.
For more information, see the pricing calculators for the following cloud services:
- Microsoft Azure Pricing Calculator
- Amazon Web Services Pricing Calculator
- Google Cloud Pricing Calculator
Kubernetes Admin Requirements
Before installing Wallaroo, the administrative node managing the Kubernetes cluster will require these tools.
- kubectl
- For Kots based installs:
- kots Version
1.91.3
- kots Version
- For Helm installs:
helm
: Install Helm.- Minimum supported version: Helm 3.11.2
krew
: Install Krewkrew preflight
andkrew support-bundle
.
- For Kots based installs:
The following are quick guides on how to install kubectl
and kots
to install and perform updates to Wallaroo. For a helm
based installation, see the How to Install Wallaroo Enterprise via Helm guides.
kubectl Quick Install Guide
The following are quick guides for installing kubectl
for different operating systems. For more details, see the instructions for your specific environment.
kubectl Install For Deb Package based Linux Systems
For users running a deb based package system such as Ubuntu Linux, the following commands will install kubectl
and kots
into the local system. They assume the user has sudo
level access to the system.
Update the
apt-get
repository:sudo apt-get update
Install the prerequisite software
apt-transport-https
,ca-certificates
, andcurl
.sudo apt-get install -y \ apt-transport-https \ ca-certificates curl
Download the install the Google Cloud repository key:
sudo curl -fsSLo \ /usr/share/keyrings/kubernetes-archive-keyring.gpg \ https://packages.cloud.google.com/apt/doc/apt-key.gpg
Install the Google Cloud repository into the local repository configuration:
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" \ | sudo tee /etc/apt/sources.list.d/kubernetes.list
Update the
apt-get
repository, then installkubectl
:sudo apt-get update
sudo apt-get install -y kubectl
Verify the
kubectl
installation:kubectl version --client
kubectl Install For macOS Using Homebrew
To install kubectl
on a macOS system using Homebrew:
Issue the
brew install
command:brew install kubectl
Verify the installation:
kubectl version --client
kots Quick Install Guide
The following are quick guides for installing kots
for different operating systems. For more details, see the instructions for your specific environment.
IMPORTANT NOTE
As of this time, Wallaroo requires
kots
version 1.91.3. Please verify that version is installed before starting the Wallaroo installation process.
Install
curl
.For deb based Linux systems, update the
apt-get
repository and installcurl
:sudo apt-get update sudo apt-get install curl
For macOS based systems
curl
is installed by default.
Install
kots
by downloading the script and piping it into thebash
shell:curl https://kots.io/install/1.91.3 | REPL_USE_SUDO=y bash
Manual Kots Install
A manual method to install KOTS is:
Download from https://github.com/replicatedhq/kots/releases/tag/v1.91.3. Linux and MacOS are supported.
Unpack the release
Rename the kots executable to kubectl-kots.
Copy the renamed kubectl-kots to anywhere on the
PATH
.Next, verify successful installation.
~ kubectl kots version Replicated KOTS 1.91.3