2025.2 RC installation on AWS

Immuta Manual Installation Guide (2025.2.X)

This guide provides step-by-step instructions for manually deploying Immuta 2025.2.X to a Kubernetes cluster

Prerequisites

  • AWS CLI configured with appropriate IAM permissions for EKS, RDS, and IAM operations

  • kubectl installed and configured

  • Helm 3 installed

  • Standard Unix utilities: envsubst, uuidgen, curl

  • Access to the target Kubernetes cluster

  • Required secrets and credentials (see Variables section)

  • immutactl binary (download link to be provided by Immuta support)

Required Variables

Before starting, set these environment variables or note them for use in commands:

# Required inputs
export NAMESPACE="your-namespace"              # e.g., lf-rc-12345 (dash-case)
export DB_PREFIX="your_db_prefix"             # e.g., lf_rc_12345 (snake_case)
export CHART_VERSION="2025.2.0-rc.2"         # Immuta Helm chart version
export CHART_CHANNEL="unstable"              # stable or unstable
export FLOW_RELAY_BUCKET="your-unique-bucket-name" # S3 bucket for Flow Relay (must be globally unique)

# AWS Configuration
export AWS_ACCOUNT_ID="931788537711"
export AWS_REGION="us-east-1"
export CLUSTER_NAME="cs-support-env"
export RDS_HOST="immuta-support.ci6mpw1cd1j3.us-east-1.rds.amazonaws.com"
export OIDC_PROVIDER="oidc.eks.us-east-1.amazonaws.com/id/188A72A9F52282D01124D4A86BB09289"
export IMMUTA_DOMAIN="your-domain.com"              # Replace with your actual domain

# Derived variables
export DB_PREFIX_DASH="$NAMESPACE"

# Required secrets (replace with actual values)
export IMMUTA_REGISTRY_USERNAME="your-registry-username"
export IMMUTA_REGISTRY_PASSWORD="your-registry-password"
export POSTGRES_ADMIN_PASSWORD="your-postgres-admin-password"
export IMMUTA_DB_PASSWORD="your-immuta-db-password"

Required Files

The following files need to be created locally before beginning the installation. Copy each file content to the specified path:

1. IAM Policy Templates

templates/trust-policy-template.json

templates/s3-access-policy-template.json

templates/lakeformation-policy-template.json

2. Helm Values Files

es-values.yaml

immuta-values.yaml

3. Setup Script

Create the required directory structure and files:

Note: The envsubst and uuidgen commands are used in the installation steps. Ensure these utilities are available on your system.

Step 1: Setup immutactl

Download and install the immutactl binary:

Note: Contact Immuta support for the correct download URL for the immutactl binary.

Step 2: Create S3 Bucket

Create the S3 bucket for Flow Relay storage:

Note: S3 bucket names must be globally unique. If the bucket creation fails, choose a different name for FLOW_RELAY_BUCKET.

Step 3: Create IAM Roles and Policies

Create the necessary IAM role and policies for IRSA:

Step 3: Create IAM Roles and Policies

Create the necessary IAM role and policies for IRSA:

Step 4: Configure Kubernetes Access

Update your kubeconfig to access the target cluster:

Step 5: Create and Configure Namespace

Create the Kubernetes namespace and apply labels:

Step 6: Create Registry Pull Secret

Create the Docker registry secret for pulling Immuta images:

Step 7: Deploy Elasticsearch

Deploy Elasticsearch using Helm:

Step 8: Create PostgreSQL Databases

Create the required PostgreSQL databases using immutactl:

Step 9: Prepare Helm Values

Prepare the Helm values file and generate required values:

Step 10: Review Rendered Values

Review the rendered Helm values before deployment:

Step 11: Add RDS Certificate Bundle

Add the RDS global certificate bundle as a Kubernetes secret:

Step 12: Deploy Immuta

Deploy Immuta using Helm:

Step 13: Wait for Deployment Completion

Wait for all Immuta deployments to become ready:

Verification

After deployment completes, verify the installation:

Note: You'll need to configure your DNS to point ${IMMUTA_DOMAIN} to the ALB hostname before accessing the Immuta UI.

Troubleshooting

DNS Configuration

Since this manual installation doesn't include the automated DNS setup, you'll need to:

  1. Configure your domain's DNS to point ${IMMUTA_DOMAIN} to your ALB

  2. Get the ALB DNS name using: kubectl get ingress -n $NAMESPACE

  3. Create a CNAME record pointing your domain to the ALB DNS name

Common Issues

  1. Pod Not Starting: Check pod logs using kubectl logs -n $NAMESPACE <pod-name>

  2. ImagePullBackOff: Verify registry credentials and secret creation

  3. Database Connection Issues: Confirm RDS host accessibility and credentials

  4. Helm Deployment Failures: Check Helm values rendering and template syntax

Useful Commands

Cleanup

To remove the deployment:

Last updated