Preparing ArcGIS Enterprise Web App for Kubernetes
- Paritosh Gupta
- May 18
- 2 min read
Esri provides ArcGIS Enterprise on Kubernetes as a cloud-native version of the platform, optimized for containerized environments.
This is a brief but accurate description of the steps required to prepare ArcGIS Enterprise Web GIS application for Kubernetes deployment.

Prerequisites
Esri Subscription with access to ArcGIS Enterprise on Kubernetes.
A supported Kubernetes cluster:
Azure Kubernetes Service (AKS)
Amazon EKS
Google Kubernetes Engine (GKE)
Red Hat OpenShift (or a certified self-managed K8s cluster)
kubectl installed and configured.
Docker CLI.
Cloud CLI (e.g., AWS CLI, Azure CLI) configured.
TLS certificates (optional in dev, required in prod).
Persistent storage provisioner on the cluster (e.g., EBS, Azure Disks).
🧰 Step 1: Download ArcGIS Enterprise on Kubernetes Installer
Go to My Esri and download the ArcGIS Enterprise on Kubernetes installer (a .tar.gz or .zip package).
Extract the archive:
tar -xzvf arcgis-enterprise-k8s-11.2.tar.gz
cd arcgis-enterprise-k8s-11.2
🏗️ Step 2: Prepare the Kubernetes Cluster
Verify access to the cluster:
kubectl get nodes
Create a namespace for ArcGIS Enterprise:
kubectl create namespace arcgis
Add context (optional):
kubectl config set-context --current --namespace=arcgis
📦 Step 3: Load ArcGIS Enterprise Images into Container Registry
You need to upload Docker images to the container registry (e.g., Amazon ECR, Azure Container Registry, or GCR).
Here’s a sample for Amazon ECR:
aws ecr create-repository --repository-name arcgis-enterprise
aws ecr get-login-password | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.region.amazonaws.com
docker load -i arcgis-enterprise-images.tar
docker tag arcgis/enterprise:<tag> <aws_account_id>.dkr.ecr.region.amazonaws.com/arcgis-enterprise:<tag>
docker push <aws_account_id>.dkr.ecr.region.amazonaws.com/arcgis-enterprise:<tag>
Repeat this process for each container image provided in the installer.
⚙️ Step 4: Configure the Deployment
Use the sample values.yaml file provided in the installer directory. This defines:
System architecture (pods, memory)
Image registry URLs
TLS settings
External DNS or LoadBalancer
Persistent Volume settings
Sample values.yaml snippet:
global:
imageRegistry:
server: "<your-registry-url>"
tls:
secretName: arcgis-tls-secret
license:
file: arcgis-enterprise.ecp
storageClass: standard
domain: "arcgis.example.com"
🚀 Step 5: Deploy ArcGIS Enterprise
Run the deployment command from the CLI provided in the installer:
./arcgis-enterprise install \
--file values.yaml \
--namespace arcgis
This command will:
Validate the configuration.
Install required services as K8s pods.
Deploy ArcGIS components: Portal, Server, Data Store, etc.
🧪 Step 6: Verify Deployment
Check pods:
kubectl get pods -n arcgis
Check services and external endpoints:
kubectl get svc -n arcgis
Access the Enterprise Manager UI in a browser at:
https://<your-domain-or-external-ip>
🛠 Optional: Create TLS Secret
If using TLS (recommended), create a secret:
kubectl create secret tls arcgis-tls-secret \
--cert=cert.pem \
--key=key.pem \
-n arcgis
🧹 Clean-Up (Optional)
To uninstall:
./arcgis-enterprise uninstall --namespace arcgis
kubectl delete namespace arcgis
The ultimate goal is to transform the Web GIS platform to make it a high-performing system, evaluating the current environments, development and delivery based on an in-depth analysis, and design of the target state as well as the required migration and fallback plans. At the same time, it is recommended to have a strategy on best practices to be applied for platform virtualization
Comentários