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.27 to 1.28
- 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.
(requirements_for_online_installation)=
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 |
Updated 4 months ago