Skip to main content
Version: 1.6.0


This document explains how you can install APISIX ingress locally on kind.



If you encounter issues, check the version you are using. This document uses kind v0.12.0, Helm v3.8.1, and kubectl v1.23.5.

Create a kind cluster#

Ensure you have Docker running and start the kind cluster:

kind create cluster

See Ingress to learn more about setting up ingress on a kind cluster.

Install APISIX and ingress controller#

The script below installs APISIX and the ingress controller:

helm repo add apisix
helm repo add bitnami
helm repo update
kubectl create ns ingress-apisix
helm install apisix apisix/apisix \
--set gateway.type=NodePort \
--set ingress-controller.enabled=true \
--namespace ingress-apisix \
--set ingress-controller.config.apisix.serviceNamespace=ingress-apisix
kubectl get service --namespace ingress-apisix

This will create the five resources mentioned below:

  • apisix-gateway: dataplane the process the traffic.
  • apisix-admin: control plane that processes all configuration changes.
  • apisix-ingress-controller: ingress controller which exposes APISIX.
  • apisix-etcd and apisix-etcd-headless: stores configuration and handles internal communication.

You should now be able to use APISIX ingress controller. You can try running this minimal example to see if everything is working perfectly.