# cnvrg Installation Requirements

# Kubernetes Requirements

cnvrg platform can run atop any conformant Kubernetes distribution

Cloud-based distros

  • AWS - EKS
  • GCP - GKE
  • Azure - AKS

On-premise distros

  • Kubeadm (1.17+)
  • VMware Tanzu Kubernetes Grid
  • Rancher (RKE v1, RKE v2)
  • OpenShift (v4 +)
  • Kubespray (1.17+)
  • DeepOps

# Persistent Storage

cnvrg can consume any Kubernetes SCI compatible storage supported and listed in Kubernetes official documents provisioner.

cnvrg Kubernetes Operator can deploy out-of-the-box two storage provisioners. These are suitable for environments where a storage provider isn’t available.

  • Hostpath SCI provisioner
  • NFS client SCI provisioner

# Kubernetes Ingress Controller

cnvrg can integrate with any supported Kubernetes ingress controller.

cnvrg Kubernetes Operator can deploy out-of-the-box Istio and configure Istio Ingress Gateway to allow ingress traffic into the cluster. Kubernetes Resource Requirement

# Resource Requirements

CPU request Memory request Storage request
15CPU 26GB 350GB

NOTE

Please note, these are the minimal defaults, i.e., Kubernetes resources requests. Production resources utilization values will highly depend on the actual load and usage of cnvrg-control-plane

Please note, these compute resources are for cnvrg control plane only. The actual compute power for ML workloads has to be calculated independently and include totals of CPU/GPU, Memory, and storage expected to be consumed by the ML workloads.

# Network Requirements

# Network Subnet and CIDR

cnvrg platform requires a minimum of /25 or lower (recommended /16)

# DNS

cnvrg requires a DNS wildcard subdomain record which resolves the ingress IP to the cnvrg cluster domain. e.g., *.cnvrg.my-org.com -> 1.2.3.4. Istio will allocate the subdomain to the different components of cnvrg as well as for new workspaces and endpoints. When DNS wildcard subdomain record isn’t available for cnvrg deployment, you might use nip.io

WARNING

Using nip.io is only suitable for PoC or dev environments. And it’s not recommended or supported in production environments

# Required Ports

cnvrg components communicate with worker clusters and on-premise machines, which are communication endpoints that are identifiable for specific processes or services. Ensure the following ports required by cnvrg are open between the Kubernetes environments and or compute machine( i.e., external DGX machine running docker-compose)

Port Protocol Description
6443 TCP Kubernetes API server
443 TCP cnvrg web-UI with SSL
80 TCP cnvrg web-UI without SSL
22 TCP ​​Required for SSH
25 TCP SMTP
5432 TCP Required for external PostgreSQL
3000-9000 TCP cnvrg notebooks
Last Updated: 11/17/2021, 8:31:10 AM