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
Kubernetes 1.26+ is required because the controller uses CEL (Common Expression Language) validation rules in CRDs, IngressClass Namespaced Params support, and EndpointSlice terminating conditions.
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://apache.github.io/apisix-helm-chart
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