On-Premise Installation

Installation Details for Arize On-Prem Deployment

Overview

The installation requires a release's TAR file that will be supplied by the Arize team. The TAR file includes all the documentation, terraforms, and Helm charts to install the Arize platform.

Example content:

arize-distribution-<hash>.tar
|-examples
|-terraform
|-docs
   |-install-arize-using-helm.md
   |...
arize.sh
arize-operator-chart.tgz
arize-cr-chart.tgz

Read the install-arize-using-helm.md documentation for more detailed instructions on how to install on GCP, AWS, or Azure.

1. Pre-Deployment

The Arize team can help size the cluster based on customer requirements.

  • Storage bucket entities need to be created for Arize

  • A service account or IAM roles need to be created with access to the bucket storage and Kubernetes cluster

  • IP address and VPC setup should be discussed with the Arize team. Our team can help pre-configure the files for network setup based on required deployment options.

  • There are three options available for loading Arize container images:

    • (default) Let the cluster pull images from the Arize Central Registry ch.hub.arize.com

    • Transfer images from the Arize Central Registry to a private registry

    • Download the images to a local folder and then upload the images into a private registry

2. Deployment

To get started quickly, you can use the scripts provided with the distribution. Extract the TAR file provided by the Arize team:

tar -zxvf arize-distribution-<hash>.tar

arize.sh is the main installation script. This uses kubectl and helm to install the Arize Operator onto your cluster. The Operator then deploys the application and initializes the database and various components.

arize.sh command

NAME
     arize.sh  Arize AI's On-Prem Deployment Utility Script

SYNOPSIS
     ./arize.sh [OPTIONS] <OPERATION> <PARAMS>

DESCRIPTION

      Script for managing the Arize platform. The script will look for a 'values.yaml' file in the same
      folder or a file name provided with the -f option. If not file is found the script will use default
      values or values passed in as arguments in the form 'cloud=gcp,etc'.

OPERATIONS

      download-charts       Download the helm charts for the corresponding release
      install               Install the Arize Operator and CR charts from values.yaml

      install-air-gapped    Install in a air-gapped environment when Operator can not contact Arize hub
      pull-images           Pull images from the Arize central registry to the local docker
      push-images           Push images from the local docker to the remote registry
      save-images           Save images from docker to a local images folder
      load-remote-images    Combines the Pull and Push steps
      load-images           Load images from a local images folder into docker
      ...

EXAMPLE COMMON INSTALL

      ./arize.sh install

EXAMPLE AIR-GAPPED

      ./arize.sh load-remote-images
      ./arize.sh install
      
...

The arize.sh script calls helm which takes settings from a values.yaml file. This file includes parameters such as:

  1. cloud: gcp/aws/azure

  2. clusterName: The cluster name on kubeconfig of the deployment

  3. gazetteBucket: The bucket name to hold gazette events

  4. druidBucket: The storage bucket to hold ui data

  5. postgresPassword: The postgres db admin password

  6. organizationName: The name of the organization owning the deployment

  7. clusterSizing: The size of the deployment (small, medium, large, etc)

  8. smtpPassword: The password for the SMTP service

  9. smtpUser: The user for the SMTP service

  10. smtpHost: The host endpoint for the SMTP service

  11. smtpSenderEmail: The smtp authenticated address emails should come from. e.g. From: noreply@acme.com

  12. gcpProject: (GCP only)The name of the project in GCP.

  13. gcpServiceAccountName: (GCP only)The name of the service account

  14. gcpServiceAccountJsonKey: (GCP only) A key from the service account

  15. azurePrincipalId: (Azure only) The id of the Azure principal

  16. region: (AWS only) Cluster region

  17. serverSideEncryption: (AWS only) Optional encryption settings (Example: KMS)

  18. sseKmsKeyId: (AWS only) Optional KMS encryption key

Running the script deploys the Arize Operator which then executes a number of steps that include:

  • Applying the secrets

  • Applying the manifests

  • Preparing the Database

  • Starting the consumer applications

  • Finally starting the User Interface and SDK receiver

Output of the script will look as follows:

    ----------------------------------------------------------------------------------------------
                    Welcome to Arize AI's On-Prem Utility Script
    ----------------------------------------------------------------------------------------------
    Using:
      ...

    ▶ Running pre-checks...
    ▶ Helm install Arize Operator...
    ...
    ▶ Helm install Arize CR...
    ...
    ▶ Waiting for Operator pod to be running...
    ▶ Waiting for Operator to complete: Executing
    ▶ Waiting for Operator to complete: Running
    ▶ Waiting for postgres job to complete...
    ▶ Waiting for pods to be running...
    ▶ Waiting for pods to be running...
    ----------------------------------------------------------------------------------------------
                                Installation Completed
    ----------------------------------------------------------------------------------------------
    ✅ Receivers available at http://localhost:50050
    ✅ Application available at http://localhost:4040
    ✅ Metrics available at http://localhost:3000
    ✅ Alerts available at http://localhost:9090
    ✅ Druid available at http://localhost:8888
    ✅ Alert Manager available at http://localhost:9093

After installation, endpoints for sending data from the SDK and for accessing the Platform UI are available for consumption by other applications running in the cluster. These endpoints can be exposed to infrastructure outside of kubernetes through additional Ingress configuration.

Initial login is based on the default login and password in the configuration setup.

3. Post Deploy

After deployment, teams should confirm:

  • Secrets have been applied

  • All Arize Kubernetes services are green and up

Test that the User Interface is live by accessing it at localhost:4040:

The Arize team will typically work on completing the installation through help in setting up IP addresses, initial login accounts and testing the end to end system.

Questions? Email us at support@arize.com or Slack us in the #arize-support channel

Last updated

Copyright © 2023 Arize AI, Inc