Skip to content

Latest commit

 

History

History
63 lines (51 loc) · 2.98 KB

File metadata and controls

63 lines (51 loc) · 2.98 KB
title
Install Ingress APISIX on Google Cloud GKE

This document explains how to install Ingress APISIX on Google Cloud GKE.

Prerequisites

  • Create an Kubernetes Service on GKE.
  • Install Google Cloud SDK and get the credentials or you can just use the Cloud Shell.
  • Install Helm.
  • 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.

helm repo add apisix https://charts.apiseven.com
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create ns ingress-apisix
helm install apisix apisix/apisix \
  --set gateway.type=LoadBalancer \
  --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.

The gateway service type is set to LoadBalancer, so that clients can access Apache APISIX through the GKE 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}'

Now 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.