kubernetes
Kubernetes Deployment
This guide covers the deployment details for a Kubernetes-based deployment of evoML.
Requirements
Supported Kubernetes Clusters
Cloud Platforms:
On-premise Solutions:
Hardware requirements
Minimum requirements
Resource | Minimum requirement |
---|---|
CPU | 32 Cores x86_64 (amd64) CPU architecture |
Memory | At least 64GB of RAM |
Storage | At least 400 GB (SSD/HDD) |
Recommended Requirements
Resource | Recommendation |
---|---|
CPU | 64 Cores x86_64 (amd64) CPU architecture |
Memory | At least 128GB of RAM |
Storage | At least 400 GB (SSD/HDD) |
- GPU capabilities are optional to operate evoML, but we would recommend NVIDIA Pascal or better with compute capability 6.0+
- The operation system on Kubernetes cluster can be any Linux based distributio
Volume asset requirements
Check that your cluster is configured properly
We will provide you a script to ensure that your Kubernetes environment is configured properly.
Accessing evoML images
evoML configuration files are based on publicly available or in-house Helm charts. The publicly available charts are mainly based on Bitnami charts, while for config files that synthesise evoML core components, we use in-house Helm charts.
The images that configuration files use are:
- evoML 20 private image that contains our in-house core components
- Secondary publicly available services (22 images) that evoML is required to operate:
Name | Registry | Provider | Version |
---|---|---|---|
Mongodb | Docker | Bitnami | 7.0.5-debian-11-r5 |
Minio | Docker | Bitnami | 2024.1.29-debian-11-r0 |
Postgres | Docker | Bitnami | 15.4.0-debian-11-r44 |
RabbitMQ | Docker | Bitnami | 3.12.12-debian-11-r7 |
Ray | Docker | Rayproject | 2.9.3-py310-cpu |
Nginx API Gateway | Docker | Bitnami | 1.9.5-debian-11-r5 |
Kafka/Red panda | Docker | Redpandadata | v23.3.4 |
Redis | Docker | Bitnami | 7.2.4-debian-11-r2 |
API Companion | Docker | Transloadit | latest |
NFS Storage | Registry.k8s.io | Sig-storage | v4.0.8 |
Config Reloader | Docker | Stakater | v1.0.64 |
There are two options for you to access evoML images. See details below:
Option 1: Dockerhub private and public images
evoML images are available on Dockerhub, at: https://hub.docker.com/?namespace=turintech
Sign in to your Dockerhub account to access the images.
Option 2: AWS
Image registry (optional)
An image registry is required for air-gapped environments to host all the images that synthesise the evoML product. Some image registries that can be used are:
- Sonatype Nexus
- JFrog Artifactory
- Docker local registry
- Other image registries
Installation
We support installation of the platform regardless of the connectivity conditions of the target machine. The following sections describe how to install evoML on Kubernetes clusters with internet access and on air-gapped environments.
Clusters with access to the internet
TurinTech shares the evoML CLI executable via email, SFTP, etc.
The user is expected to:
- Check and configure connectivity to the cluster:
./evoml config cluster
- Deploy and input any prompted information:
./evoml deploy up
Clusters without access to the internet (air-gapped installation)
TurinTech shares a single tar bundle via email, SFTP, etc., containing: (i) evoML CLI (ii) All extracted images that evoML requires on a single tar file
The user is expected to:
- Untar the bundle:
tar -xvf evoml.tar
- Execute CLI by
(i) Importing the images to a predefined image registry:
./evoml bundle import –dest <Registry URL> --auth
(ii) Checking and configure connectivity to the cluster:./evoml config cluster
(iii) Deploying and providing any prompted information:./evoml deploy up