Wallaroo Requirements
Table of Contents
Organizations preparing to install Wallaroo need to be aware of different requirements. This guide provides provides details of the following requirements.
- Kubernetes requirements: The requirements for installing Wallaroo into a Kubernetes environment. For full details on Kubernetes requirements and other plugins used by Wallaroo, see the Wallaroo Prerequisites Guide.
- Network requirements: DNS and IP access rules for Wallaroo installations. For full details, see the Wallaroo Configuration Guides.
- Edge Deployments: Wallaroo pipelines are deployed to edge devices through Wallaroo Server. This section includes the requirements for deploying Wallaroo Server as an edge deployment through an OCI (Open Container Initiative) container. For more information on publishing a Wallaroo pipeline for edge deployment, see the Wallaroo MLOps API Essentials Guide: Pipeline Edge Publishing Management and Wallaroo SDK Essentials Guide: Pipeline Edge Publication.
Kubernetes Requirements
Wallaroo installs into a standard Kubernetes cluster. This can be:
- A Kubernetes cluster dedicated to just Wallaroo.
- A Kubernetes cluster that hosts Wallaroo and other applications.
- A Kubernetes single host installation.
The following software or runtimes are required for Wallaroo 2024.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.29 |
containerd | Container Management | 1.7.0 | 1.7.0 |
kubectl | Kubernetes administrative console application | 1.29 | 1.29 |
Wallaroo Namespace Requirements
Wallaroo requires multiple Kubernetes namespaces to function.
- The Wallaroo application must be installed into its own namespace. The default installation namespace is
wallaroo
. - Each deployed pipeline creates a new namespace for the Wallaroo engine, models, and other artifacts. The names of these namespaces depend on the user-provided names for their pipeline.
Cluster Resources Requirements
Wallaroo recommends installing into a cluster with at least 24 cores and 32 GB of memory available. The software can be installed into a standard Kubernetes environment running on a cluster of nodes, typically 8 cores or more apiece.
Single host installation of Wallaroo is possible provided the host meets the required resources.
The complete requirements for the cluster resources see the Environment Setup Guides
Network requirements
Wallaroo requires only minimal networking setup.
- It is highly recommended the Wallaroo installation has its own network subnet. Wallaroo can coexist with other applications installed into the same cluster, but the cluster network should be independent of external services.
- Wallaroo requires out-bound connections to external services. These out-bound connections are only for downloading the container images for implementing the Wallaroo software.
- Wallaroo may attempt to download additional packages, such as Python packages from PyPi.org, required to support user code.
- The Wallaroo software does not transmit any data to Wallaroo.ai’s servers.
- Wallaroo does not require, and should not be exposed to, in-bound connections from the public internet. It is highly recommended that the Wallaroo software remain behind the organizations firewalls.
- All connections to the Wallaroo cluster are over HTTPS. This requires provisioning DNS entries and generating appropriate TLS certificates.
User Access
Each Wallaroo cluster provides a single HTTPS port for user access to the cluster. Default cluster installs provision a cloud load-balancer to provide access to the cluster with a single routable IP address. Single-host install use the NodePort service to allow access into the cluster and will use te host’s IP address.
For the best user experience, it is highly recommended that users of the Wallaroo software have direct access to this IP address over the HTTPS protocol from their laptops or other primary development environments.
DNS and TLS Certificate Requirements
To provide secured access to the Wallaroo cluster, several DNS entries and a TLS (SSL) certificate must be generated matching the domain name registered. The certificates may be self-signed or signed using an organization-specific root certificate as appropriate for your organization.
Once the Wallaroo cluster has been installed, a set of DNS entries are required to point to the in-bound IP address of the cluster. See the DNS Integration Guide for more details.
Wallaroo Server Requirements
Wallaroo supports deploying Wallaroo pipelines aka Wallaroo Server outside the Wallaroo Ops Center. Wallaroo Server runs in any edge environment that supports OCI (Open Container Initiative, aka Docker) containers.
The basic edge requirements are:
- CPU: One or more x86 or Arm64 CPU cores available. Wallaroo Server scales to multiple cores when required, and scales back to 0 CPUs when not in use.
- Memory: 500 MB - 1 GB of RAM is recommended for most applications, but the actual amount depends heavily on the model being used. Wallaroo Server will run in as little as 200 MB of RAM for many small models and large computer vision models may require greater than 1GB of memory.
- OS: Wallaroo Server runs OCI container and runs under any compliant OCI operating system.
- Networking: Wallaroo Server only requires access the OCI repository where Wallaroo pipelines are published pull the container image for Wallaroo Server itself and any published pipelines. For more information on publishing a Wallaroo pipeline for edge deployment, see the Wallaroo MLOps API Essentials Guide: Pipeline Edge Publishing Management and Wallaroo SDK Essentials Guide: Pipeline Edge Publication.