> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GKE and infrastructure (Terraform)

> Use the Terraform modules shipped in the Arize AX distribution to provision GKE, networking, and static IPs for ingress on GCP.

## Overview

The extracted distribution archive includes a **`terraform/`** directory with modules and a **`README.md`** that describes required variables, outputs, and how they connect to Kubernetes and DNS. **Start there** for authoritative, version-specific guidance; this page only orients you.

## What to read first

From the root of your extracted tarball:

1. Open **`terraform/README.md`** — it lists GCP-specific parameters (including static IP names used by load balancers and ingress).
2. Align Terraform outputs with your `values.yaml` (for example `clusterName`, `gcpProject`, bucket names).
3. If you use Terraform-created static IPs for HTTPS ingress, re-apply Terraform when you change IP or forwarding resources, then update ingress manifests to match the reserved names.

Static IPs are preferred so you can rebuild or replace the cluster without changing DNS records.

## Relationship to installation

The sample modules often include a **reference VPC and subnets** so you can bring up a working cluster quickly. Treat that networking layout as a **starting point** unless your organization’s landing-zone team has approved it: for production, plan to **integrate with your existing VPC**, CIDRs, NAT, firewall, and org policies, and adjust or replace the sample network pieces accordingly. The **GKE node pools, labels, and outputs** sections are usually what teams carry forward into real environments.

Terraform typically provisions:

* Reference VPC and subnets (see **`terraform/README.md`** for scope—replace with your enterprise network design for production)
* GKE cluster and node pools (with labels aligned to Arize AX requirements)
* Supporting resources such as static IPs for Google Cloud load balancers

After apply, configure `kubectl` to the new cluster and continue with [Install Arize AX (quick start)](/docs/ax/selfhosting/installation/gcp/install-arize-quickstart).

## Ingress alignment

GCP ingress examples reference annotations such as `kubernetes.io/ingress.global-static-ip-name`. If Terraform creates those IP resources, the names in your copied `my-app-services.yaml` should match Terraform outputs — see [Ingress with GCP load balancer](/docs/ax/selfhosting/installation/gcp/ingress-gcp-load-balancer).

## Source in repository

The same Terraform sources are developed in the Arize AX distribution repository; the tarball is the supported artifact for customers. Use the `README.md` inside your release for the exact version you are deploying.
