Skip to main content
Version: 1.5.0

Install Ingress APISIX on Kind

This document explains how to install Ingress APISIX on kind.


If you encounter some strange problems, please consider whether it is a version compatibility issue.

The versions of kind(==v0.12.0), kubectl(==v1.23.5) and helm(==v3.8.1) used in this document are confirmed feasible.

Create Cluster#

The quickest way to get a taste is to run command as follows and then go to the next section.

kind create cluster

You can click this link for more information.

Install APISIX and apisix-ingress-controller#

As the data plane of apisix-ingress-controller, Apache APISIX can be deployed at the same time using Helm chart.

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

Five Service resources were created.

  • apisix-gateway, which processes the real traffic;
  • apisix-admin, which acts as the control plane to process all the configuration changes.
  • apisix-ingress-controller, which exposes apisix-ingress-controller's metrics.
  • apisix-etcd and apisix-etcd-headless for etcd service and internal communication.

Now try to create some resources to verify the running of Ingress APISIX. As a minimalist example, see proxy-the-httpbin-service to learn how to apply resources to drive the apisix-ingress-controller.