Azure Deployment (AKS)
Prerequisites
Required Variables
# Deployment naming -- used as a prefix for all Azure resources
export RELEASE_NAME=<your-release-name> # e.g., immuta-prod (lowercase, alphanumeric + hyphens)
export ACR_NAME=<your-acr-name> # e.g., immutaprod (alphanumeric only, globally unique)
export LOCATION=eastus # Azure region
# Immuta version
export IMMUTA_VERSION=2026.1.0
# Immuta registry credentials
export IMMUTA_USER=<your-immuta-registry-username>
export IMMUTA_TOKEN=<your-immuta-registry-token>
# PostgreSQL credentials
export PG_ADMIN_PASSWORD=<your-postgres-admin-password>
export IMMUTA_DB_PASSWORD=<your-immuta-db-password>
# TLS / Ingress
export IMMUTA_URL=<your-hostname> # e.g., immuta.example.com
export TLS_CERT=<path-to-tls-cert> # e.g., ./immuta.crt
export TLS_KEY=<path-to-tls-key> # e.g., ./immuta.key
# Namespace
export NAMESPACE=immutaStep 1: Create Resource Group and Container Registry
Step 2: Copy Immuta Images to ACR
Authenticate to ACR
Authenticate to Immuta Registry
Copy images
Step 3: Deploy AKS Cluster
Connect kubectl to the cluster
Step 4: Deploy Azure Flexible Server for PostgreSQL
Create a private DNS zone
Link the DNS zone to the AKS VNet
Create the PostgreSQL Flexible Server
Enable required PostgreSQL extensions
Peer the PostgreSQL and AKS VNets
Step 5: Configure PostgreSQL Databases
Create the namespace
Connect to PostgreSQL via an ephemeral pod
Create the Immuta role and databases
Configure the immuta database
Configure the temporal database
Configure the temporal_visibility database
Verify databases
Step 6: Deploy Elasticsearch for Audit
Option A: Azure Elastic Monitor (managed)
Option B: In-cluster Elasticsearch using ECK
Step 7: Create Kubernetes Secrets
TLS secret for ingress
Step 8: Install Immuta via Helm
Authenticate Helm to the Immuta registry
Deploy Immuta
Step 9: Verify Deployment and Configure DNS
Wait for pods to become ready
Check pod status
Check ingress
Configure DNS
Access the Immuta UI
Troubleshooting
Common Issues
Symptom
Likely Cause
Resolution
Temporal TLS fallback: adding an explicit CA certificate
Useful commands
Cleanup
Last updated

