Documentation Index
Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
If you are not using a cloud-managed load balancer (see GCP load balancer or Azure load balancer), you can expose Arize AX with NGINX Ingress (NGINX Inc), NGINX Gateway Fabric, ingress-nginx (community), Istio, Kong, Traefik, or another controller that supports TLS, long-lived connections, and gRPC where needed. All examples assume:- The Arize AX operator has created the
internalendpoints-appServicein thearizenamespace (TLS on port 443). - You replace placeholder domains and TLS material before
kubectl apply. - You align
appBaseUrl/expBaseUrl(andingressMode) invalues.yamlwith your hostname plan—see Configuring ingress endpoints, especially the Ingress Controllers table foringressModeand optional pod TLS fields.
ingressClassName (or Gateway gatewayClassName) to match the class installed in your cluster.
- NGINX Inc (Ingress API)
- NGINX TLS passthrough (TransportServer)
- NGINX Gateway Fabric
- ingress-nginx (community)
- Istio
- Kong
- Traefik
Paths:
Docs: NGINX Ingress Controller (OSS or NGINX Plus)These manifests use the
nginx/single-endpoint/nginx-ingress.yaml and nginx/multi-endpoint/nginx-ingress.yamlDocs: NGINX Ingress Controller (OSS or NGINX Plus)These manifests use the
networking.k8s.io/v1 Ingress API with ingressClassName: nginx. Traffic is forwarded to internalendpoints-app:443. TLS is terminated at the ingress using a kubernetes.io/tls secret in arize (for example arize-app-services-tls in the single-endpoint file).Single host (nginx/single-endpoint/nginx-ingress.yaml):- One hostname (
{{CUSTOMER_DOMAIN}}) for UI, GraphQL, REST, OTLP, and Arrow Flight through the unified internal endpoint service. ConfigMapnginx-ingressin your NGINX install namespace (default comment usesnginx-ingress) setshttp2: "true"so gRPC and HTTP/2 behave correctly—rename the ConfigMap or namespace if your Helm release differs (for example NGINX Plus chart defaults).- Key
Ingressannotations:nginx.org/ssl-servicesandnginx.org/grpc-servicesset tointernalendpoints-app, plus longproxy-read-timeout/proxy-send-timeout(7200s) for large exports and streams.
nginx/multi-endpoint/nginx-ingress.yaml):- Separate
Ingressobjects per role:arize-app(UI / GraphQL),arize-api(REST),arize-otlp(OTLP),arize-flight(Arrow Flight), each with its own TLS secret and host ({{CUSTOMER_APP_DOMAIN}},{{CUSTOMER_API_DOMAIN}}, etc.). - OTLP and Flight ingresses include
nginx.org/grpc-services: "internalendpoints-app"; app/API ingresses rely onnginx.org/ssl-servicesfor HTTPS to the backend.
values.yaml alignment (from file headers):- Single-endpoint:
appBaseUrl: "https://{{CUSTOMER_DOMAIN}}",expBaseUrl: "{{CUSTOMER_DOMAIN}}". - Multi-endpoint:
appBaseUrl: "https://{{CUSTOMER_APP_DOMAIN}}",expBaseUrl: "{{CUSTOMER_FLIGHT_DOMAIN}}"(Flight host for export-related settings).
kubectl -n arize describe ingress <name>.After you apply
kubectl -n arize describe ingress <name>(orkubectl describe gateway/ routes for Gateway API) until addresses are assigned.- Create DNS A/AAAA (or CNAME) records to that address.
- Update
values.yamlwithappBaseUrlandexpBaseUrl, then upgrade the release or operator values as you do for other changes. - Confirm
ingressModeand anyinternalEndpointsAppTlsCert/internalEndpointsAppTlsKeyrequirements from the Ingress Controllers table.
Cross-reference
- Cloud load balancer paths: GCP load balancer, Azure load balancer.
- AWS, OpenShift, and generic controller guidance: Configuring ingress endpoints.