Install with Helm
Helm is a package manager for Kubernetes that automates the release and management of software on Kubernetes.
This document guides you through installing the APISIX ingress controller using Helm.
Prerequisites#
Before installing APISIX ingress controller, ensure you have:
- A working Kubernetes cluster (version 1.26+)
- Production: TKE, EKS, AKS, or other cloud-managed clusters
 - Development: minikube, kind, or k3s
 
 - kubectl installed and configured to access your cluster
 - Helm (version 3.8+) installed
 
Make sure to update the Helm repositories:
helm repo add apisix https://charts.apiseven.com
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Install APISIX and APISIX Ingress Controller#
The script below installs APISIX and APISIX Ingress Controller:
helm install apisix \
  --namespace ingress-apisix \
  --create-namespace \
  --set ingress-controller.enabled=true \
  --set ingress-controller.apisix.adminService.namespace=ingress-apisix \
  --set ingress-controller.gatewayProxy.createDefault=true \
  apisix/apisix
Install APISIX and APISIX Ingress Controller (Standalone API-driven mode)#
To run APISIX in APISIX Standalone API-driven mode, use the following script to install APISIX and the APISIX Ingress Controller:
helm install apisix \
  --namespace ingress-apisix \
  --create-namespace \
  --set apisix.deployment.role=traditional \
  --set apisix.deployment.role_traditional.config_provider=yaml \
  --set etcd.enabled=false \
  --set ingress-controller.enabled=true \
  --set ingress-controller.config.provider.type=apisix-standalone \
  --set ingress-controller.apisix.adminService.namespace=ingress-apisix \
  --set ingress-controller.gatewayProxy.createDefault=true \
  apisix/apisix
Install APISIX Ingress Controller#
The script below installs APISIX Ingress Controller:
# Set the access address and adminkey for apisix
helm install apisix-ingress-controller \
  --create-namespace \
  -n ingress-apisix \
  --set gatewayProxy.createDefault=true \
  --set gatewayProxy.provider.controlPlane.auth.adminKey.value=edd1c9f034335f136f87ad84b625c8f1 \
  --set apisix.adminService.namespace=apisix-ingress \
  --set apisix.adminService.name=apisix-admin \
  --set apisix.adminService.port=9180 \
  apisix/apisix-ingress-controller