On-prem Deployment Requirements#

General#

  • A DNS hostname

  • TLS private key & certificate

  • SMTP server (StartTLS supported)

The minimum compute resource requirements in this documentation is for running a few small models in a non-production environment. Your production deployment will likely use more compute resources to achieve higher availability, performance and scalability.

Arthur’s horizontally elastic architecture allows high throughput processing in both streaming and batch. The platform’s auto-scaler mechanism self-manages resource utilization in optimized and cost-effective fashion. It automatically scales up and down based on compute resource requests by the platform activities as well as the lag observed in the data pipeline queue within the limits of the allocated hardware. This works best in a cloud infrastructure with a managed Kubernetes service that enables Arthur to also auto-scale the provisioned hardware (e.g. AWS EKS, Azure ASK).

Storage volumes used for Arthur deployment should be encrypted with a data key using industry-standard data encryption (e.g. AES-256). This applies to the mounted disk volumes as well as the externalized storage, such as the S3 object storage and the relational database if any.

Kubernetes Install#

  • Kubectl-ing workstation: Linux or MacOS

  • Kubernetes: 1.22 to 1.24 (Beta support for 1.25)

  • Runtime: containerd or Docker

  • Namespace

  • Storage class

Minimum Node Group Resource#

  • 16 CPUs

  • 32 GB RAM

  • Storage with at least 3000 IOPS (>100GB recommended)

Permissions#

When Arthur platform is installed, Kubernetes RBAC resources are created to allow the Admin Console to manage the application. The kubectl-ing user who installs Arthur must have the wildcard privileges in the cluster.

Refer to this documentation for the ClusterRole and ClusterRoleBinding that will be created for the Admin Console.

Components#

  • Prometheus

  • Ingress Controller (Nginx or Ambassador)

  • Kubernetes Metrics Server

  • Velero with Restic (Optional for managed backup and restore feature)

For Airgapped installation only:

  • An existing private container registry

  • Existing private Python registries (PyPI, Anaconda) - only required for the model explanation feature

VM Install#

Minimum Server Resource#

  • 16 CPUs

  • 32 GB RAM

  • Storage with at least 3000 IOPS (>100GB recommended)

Supported Operating Systems#

The latest versions of the following Linux operating systems are supported.

  • Ubuntu

  • RHEL

Please do the following before running the installer on your VM for a smoother deployment experience:

  • If SELinux is enabled, set it to the permissive mode

  • Make sure the VM doesn’t have any container runtime pre-installed, such as Docker or containerd

Firewall Configurations#

Ingress#

The TCP port 443 is the only entry point that Arthur exposes.

Egress#

The platform requires access to any integrations (e.g. SMTP, IdP) as well as the components you externalize (e.g. Postgres, S3).

For Airgap Installation#

Your private container and Python registries must be accessible.

For Online Installation#

Access to container images and deployment manifest files from the below public registries are required.

Host

Existing Cluster

Embedded Cluster

Docker Hub

Required

Required

proxy.replicated.com

Required

Required

replicated.app

Required

Required

k8s.kurl.sh

Not Required

Required

amazonaws.com

Not Required

Required