Installing the Infrastructure Components
Last updated
Last updated
Before proceeding with these steps, make sure that you have the required software installed. See the Software Requirements.
Aizen uses these open-source components as dependencies:
Apache Spark
Enables you to specify and run Spark applications on Kubernetes just as you would other workloads on Kubernetes. The Spark operator uses Kubernetes custom resources for specifying, running, and surfacing the status of Spark applications.
Kuberay
Simplifies the deployment and management of Ray applications on Kubernetes.
Apache Kafka
A distributed event store and stream processing platform.
Filecopy server
Provides the ability to distribute custom preprocessor files to all nodes in the cluster.
MLflow
Manages a machine learning (ML) lifecycle, including experiments, deployment, and a central model registry. The MLflow tracking lets you log and query experiments using Python, Java, or REST APIs. MLflow runs are recorded in the mysql database.
Multi-Cluster Application Dispatcher (MCAD)
Provides an abstraction for wrapping all resources of jobs. This controller queues the jobs, applies queueing policies, and then dispatches the jobs when cluster resources are available.
Monitoring components:
Prometheus operator
An operator that configures and manages a Prometheus monitoring stack that runs in a Kubernetes cluster.
Elastic search
A distributed search and analytics engine designed for handling large volumes of data. It is used for storing, searching, and analyzing structured and unstructured data in real time.
Fluentd
A data collector that unifies data collection from various data sources and log files.
Update or add properties to the Aizen infrastructure Helm chart based on your environment and preferred configuration.
To install the Aizen infrastructure components, follow these steps:
Create the namespace aizen-infra
for the Aizen infrastructure components by running this command:
Using the Docker Hub credentials that you obtained for the Aizen microservice images (see ), create a Kubernetes Secret for accessing the Aizen images in the infrastructure namespace:
Customize the settings (see Default Infrastructure Configuration Settings below) in the Aizen infrastructure Helm chart based on your environment and preferred configuration:
Update the STORAGE_CLASS, INGRESS_HOST, BUCKET_NAME, CLOUD_ENDPOINT_URL, CLOUD_ACCESSKEY_ID, CLOUD_SECRET_KEY, IMAGE_REPO_SECRET, MLFLOW_ACCESSKEY_ID, MLFLOW_SECRET_KEY, and MLFLOW_ENDPOINT_URL values.
For the MLFLOW_ENDPOINT_URL, use either an S3 bucket or a local MinIO bucket, but remember to create the bucket. If you are using local MinIO as an object store, make sure to set up MinIO first and then create buckets. See MinIO.
Change the default persistence size, which is hardcoded in the deployment of the various components, according to your environment.
For an Azure AKS cluster, add these properties to both infrastructure and core deployments: global.s3.azure.enabled=true
For a cloud-based deployment, add these properties to both infrastructure and core deployments:
For a GCP cluster, check if istio-injection is enabled, and if enabled, disable istio-injection:
Install the Aizen infrastructure components by running this command:
For a GCP cluster, re-enable istio-injection using this command:
If you plan to use LDAP-based authentication, which is the default authentication type for the Aizen platform, you will need to install OpenLDAP and then create users. For instructions, see OpenLDAP.
Check the status of all the infrastructure components by running this command:
If any of the components are not in a Running state, see Installation Issues.