Skip to main content

kubernetes

Kubernetes Deployment

This guide covers the deployment details for a Kubernetes-based deployment of evoML.

Requirements

Supported Kubernetes Clusters

Cloud Platforms:

  1. Amazon AWS
  2. Microsoft Azure
  3. Google Cloud
  4. Intel Developer Cloud
  5. OpenShift Cloud

On-premise Solutions:

  1. Kubeadm
  2. K3s (k3d)
  3. Microk8s
  4. Okd

Hardware requirements

Minimum requirements

ResourceMinimum requirement
CPU32 Cores x86_64 (amd64) CPU architecture
MemoryAt least 64GB of RAM
StorageAt least 400 GB (SSD/HDD)
ResourceRecommendation
CPU64 Cores x86_64 (amd64) CPU architecture
MemoryAt least 128GB of RAM
StorageAt least 400 GB (SSD/HDD)
note
  1. GPU capabilities are optional to operate evoML, but we would recommend NVIDIA Pascal or better with compute capability 6.0+
  2. 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:
NameRegistryProviderVersion
MongodbDockerBitnami7.0.5-debian-11-r5
MinioDockerBitnami2024.1.29-debian-11-r0
PostgresDockerBitnami15.4.0-debian-11-r44
RabbitMQDockerBitnami3.12.12-debian-11-r7
RayDockerRayproject2.9.3-py310-cpu
Nginx API GatewayDockerBitnami1.9.5-debian-11-r5
Kafka/Red pandaDockerRedpandadatav23.3.4
RedisDockerBitnami7.2.4-debian-11-r2
API CompanionDockerTransloaditlatest
NFS StorageRegistry.k8s.ioSig-storagev4.0.8
Config ReloaderDockerStakaterv1.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:

  1. Sonatype Nexus
  2. JFrog Artifactory
  3. Docker local registry
  4. 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:

  1. Check and configure connectivity to the cluster: ./evoml config cluster
  2. 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:

  1. Untar the bundle: tar -xvf evoml.tar
  2. 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