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.
#
PrerequisitesBefore 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 ControllerThe 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 ControllerThe 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