Skip to main content

Install Ingress APISIX on ACK

This document explains how to install Ingress APISIX on ali-cloud ACK.

Prerequisites#

  • Create an ACK Service on ali-cloud.
  • Download the kube config for your ACK, follow the introduction.
  • Install Helm.
  • Clone Apache APISIX Charts.
  • Make sure your target namespace exists, kubectl operations thorough this document will be executed in namespace ingress-apisix.

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.

cd /path/to/apisix-helm-charthelm repo add bitnami https://charts.bitnami.com/bitnamihelm repo updatekubectl create ns ingress-apisixhelm install apisix charts/apisix \  --set gateway.type=LoadBalancer \  --set ingress-controller.enabled=true \  --set etcd.persistence.storageClass="alicloud-disk-ssd" \  --set etcd.persistence.size="20Gi" \  --namespace ingress-apisixkubectl 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 Access services through SLB for more details), so that clients can access Apache APISIX through a load balancer. You can find the load balancer ip by running:

kubectl get service apisix-gateway --namespace ingress-apisix -o jsonpath='{.status.loadBalancer.ingress[].ip}'

ACK PV require min_size is 20Gi,cluster with flexVolume component select alicloud-disk-ssd,if with helm values.yml configure startup apisix,more helm etcd configure,configure format sample:

etcd:  persistence:    storageClass: "alicloud-disk-ssd"    size: 20Gi

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.