Installation on Azure

The diagram below depicts the target topology for Azure.

Requirements for Azure:

  • A storage account configured with Hierarchical namespace: Disabled for holding the Arize containers.

  • A storage account key for Arize pods to have access to the containers.

  • Two Azure blob storage containers for gazette and druid data.

  • An AKS cluster with a minimum of two node pools: base pool and druid pool.

  • The base node pool should be labeled with arize=true and arize-base=true.

  • The druid node pool should be labeled with arize=true and druid-historical=true.

  • Storage classes managed-csi-premium and managed-csi are preferred and used by default.

  • An ACR or docker registry is optional as Arize pulls images from Arize's central image registry by default.

  • Namespaces arize, arize-operator, and arize-spark can be pre-existing or created later by the helm chart.

  • If deployed on a private VNet, a private link to the storage account may be required for reachability from the cluster.

Contact Arize for the <sizing option> field. This field controls the size of the deployment and must align with the size of the cluster. Common values used would be small1b or medium2b.

values.yaml:

cloud: "azure"
clusterName: "<cluster-name>"
hubJwt: "<JWT>" (base64 encoded)
gazetteBucket: "<name of gazette bucket>"
druidBucket: "<name of druid bucket>"
postgresPassword: "<user selected postgres password>" (base64 encoded)
organizationName: "<name of the organization or company>"
cipherKey: "<encryption key>" (base64 encoded)
clusterSizing: "<sizing option>"
azureStorageAccountName: "<storage-account-name>" (base64 encoded)
azureStorageAccountKey: "<storage-account-key>" (base64 encoded)
collectNodeMetrics: true

# The URL used to reach the Arize UI once ingress endpoints are created
appBaseUrl: "https://<arize-app.domain>"

# Only required if using a private docker registry
pushRegistry: "<registry-name>.azurecr.io"
pullRegistry: "<registry-name>.azurecr.io"

# Only required if using a private docker registry and pull secret required
azurePrincipalId: "<Application (client) ID>" (base64 encoded)
azurePrincipalPassword: "<password-string>" (base64 encoded)

# Only required if using a common node pool
historicalNodePoolEnabled: false

Choose an approach based on the deployment. For Helm:

$ helm upgrade --install -f values.yaml arize-op arize-operator-chart.tgz

Last updated

Was this helpful?