This document explains how to install Ingress APISIX on Amazon EKS.
ingress-apisix
.As the data plane of apisix-ingress-controller, Apache APISIX can be deployed at the same time using Helm chart.
cd /path/to/apisix-helm-chart helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update kubectl create ns ingress-apisix helm install apisix charts/apisix \ --set gateway.type=LoadBalancer \ --set ingress-controller.enabled=true \ --namespace 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.The gateway service type is set to LoadBalancer
(See AWS Network Balancer for more details), so that clients can access Apache APISIX through a load balancer. You can find the load balancer hostname by running:
kubectl get service apisix-gateway --namespace ingress-apisix -o jsonpath='{.status.loadBalancer.ingress[].hostname}'
Now open your EKS console, choosing your cluster and clicking the Workloads tag, you'll see all pods of Apache APISIX, etcd and apisix-ingress-controller are ready.
Try to create some resources to verify the running status. As a minimalist example, see proxy-the-httpbin-service to learn how to apply resources to drive the apisix-ingress-controller.