# 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 |