title: Install with Helm keywords:

  • APISIX ingress
  • Apache APISIX
  • Kubernetes ingress
  • kind description: Guide to install APISIX ingress controller on kind.

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:

  1. A working Kubernetes cluster (version 1.26+)
    • Production: TKE, EKS, AKS, or other cloud-managed clusters
    • Development: minikube, kind, or k3s
  2. kubectl installed and configured to access your cluster
  3. 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