Installation

Dependencies

To install ingress controller in k8s, need to care about 3 parts:

  1. CRDs: The definitions of Apache APISIX configurations in Kubernetes.

  2. RBAC: This is support by Kubernetes, granting ingress controller resource access permissions.

  3. Configmap: Contains the necessary configuration for ingress controller.

Kustomize

Before executing the following commands, you need to create the namespace ingress-apisix:

kubectl create ns ingress-apisix

Install the abovementioned resources by Kustomize:

kubectl kustomize "github.com/apache/apisix-ingress-controller/samples/deploy?ref=master" | kubectl apply -f -

If the default parameters in samples/deploy are not good for you, just tweak them and run:

kubectl apply -k /path/to/apisix-ingress-controller/samples/deploy

Helm

First of all, deploying the necessary CRDs and cluster resources like serviceaccount through the base chart.

helm install ingress-apisix-base -n ingress-apisix ./charts/base

Note namespace ingress-apisix should be created before you run the above command.

Then try to deploy apisix-ingress-controller through the ingress-apisix chart.

helm install ingress-apisix -n ingress-apisix ./charts/ingress-apisix

Master branch builds

docker build -t apache/ingress-controller:v0.1.0 ../.

Next