Installation
Installation Details for Arize On-Prem Deployment
The installation requires the following TAR file(s) that will be supplied by the Arize team. The TAR files include all manifests, images and scripts to install the Arize platform.
- arize-images-distribution-<target>-<hash>.tar
- arize-gcp-distribution-<target>-<hash>.tar
- arize-aws-distribution-<target>-<hash>.tar
- arize-azure-distribution-<target>-<hash>.tar
Example content:
arize-<cloud>-distribution-<target>-<hash>.tar
|-manifests
|-examples
|-terraform
|-docs
|-install-arize-on-cluster.md
|...
README.txt
deploy.sh
Read the
install-arize-on-cluster.md
documentation for more detailed instructions to install on GCP, AWS, or Azure.The Arize team can help size the cluster based on team requirements.
- Storage bucket entities need to be created for Arize
- A service account needs 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 TAR file and load the images into a private registry
To get started quickly, you can use the quick start manifest which will install the Arize AI Platform as well as some commonly used components. Extract the TAR file provided by the Arize team:
tar -zxvf arize-gcp-distribution-linux_amd64-165fa523.tar
The main manifest structure can be found under
manifests/base/kustomization.yaml
:kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: arize
resources:
- configurations.yaml
- grafana.yaml
- ...
patches:
- overlays/annotations.yaml
- ...
images:
- name: receiver
newName: arize/receiver
newTag: <hash>
deploy.sh
is the main install script. This uses kubectl
to apply all resources to your cluster, then runs initial application and database setup. 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 default login is based on the default login and password in the configuration setup. On initial login the admin interface will clearly highlight platform status and go indicator for initial use.
deploy.sh command
NAME
deploy.sh – Arize AI's On-Prem Deployment Script
SYNOPSIS
./deploy.sh [-v] <OPERATION>
DESCRIPTION
Script for deploying the Arize platform. A 'config.txt' file must be present in the same folder
as deploy.sh or specified using the -c option. Consult the documentation for the exact content of 'config.txt'
or refer to the template 'config.txt.template' provided with this script.
OPERATIONS
load-images Load local Arize docker images into a provider image repository
load-remote-images Load remote Arize docker images into a provider image repository
install Perform a fresh install of the Arize platform from start to finish
upgrade Perform a a upgrade of an existing Arize installation from start to finish
help Show this content
...
OPTIONS
-v Verbose mode
-c Specify the config file (default='./config.txt')
The deploy script loads its settings from a
config.txt
file. A sample is provided in config.txt.template
and includes parameters such as:- 1.CLOUD: gcp/aws/azure
- 2.CLUSTER_NAME: The cluster name on kubeconfig of the deployment
- 3.GAZETTE_BUCKET: The bucket name to hold gazette events
- 4.DRUID_BUCKET: The storage bucket to hold ui data
- 5.POSTGRES_PASSWORD: The postgres db admin password
- 6.ORGANIZATION_NAME: The name of the organization owning the deployment
- 7.CLUSTER_SIZING: The size of the deployment (small, medium, large, etc)
- 8.SMTP_PASSWORD: The password for the SMTP service
- 9.SMTP_USER: The user for the SMTP service
- 10.SMTP_HOST: The host endpoint for the SMTP service
- 11.SMTP_SENDER_EMAIL: The smtp authenticated address emails should come from. e.g. From: [email protected]
- 12.GCP_PROJECT: (GCP only)The name of the project in GCP.
- 13.SERVICE_ACCOUNT_PATH: (GCP only)The path to the service account credentials for gcp installs
- 14.CREDENTIALS_FILE_PATH: (Azure only)The absolute path to a file containing the credentials
- 15.REGION: (AWS only) Cluster region
- 16.SERVER_SIDE_ENCRYPTION: (AWS only) Optional encryption settings (Example: KMS)
- 17.SSE_KMS_KEY_ID: (AWS only) Optional KMS encryption key
Running the script executes a number 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 Deployment Set Up
----------------------------------------------------------------------------------------------
▶ Configuring Manifest...
▶ Validating Manifest
▶ Creating Namespaces...
▶ Applying Secrets...
▶ Applying Manifests...
▶ Preparing Database...
▶ Configuring Default Organization...
▶ Configuring Gazette...
▶ Configuring Druid...
▶ Almost there, awaiting all services to be ready...
▶ 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
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 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.