You need the aws-load-balancer-controller
installed in your cluster to configure Ingress resources on EKS.
After installing, check that your cluster is running the aws-load-balancer-controller
:
kubectl get deployments.apps -n kube-system aws-load-balancer-controller
You need application-gateway-kubernetes-ingress
installed in your cluster to configure Ingress resources on AKS.
After installing, check that your cluster is running the ingress-appgw-deployment
:
kubectl get deployments.apps -n kube-system ingress-appgw-deployment
Clusters running GKE versions 1.18 and later automatically provision load balancers in response to Ingress
resources being created.
GKE requires a BackendConfig
resource to be created for Kong deployments to be marked as healthy.
-
Create a BackendConfig
resource to configure health checks:
echo "apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: kong-hc
namespace: kong
spec:
healthCheck:
checkIntervalSec: 15
port: 8100
type: HTTP
requestPath: /status" | kubectl apply -f -
-
This BackendConfig
is attached to the admin
service using the annotations
key in values-cp.yaml
.
GKE provisions one load balancer per Ingress
definition. Following this guide will result in multiple load balancers being created.
Set ingressController.enabled
to true
in your values-cp.yaml
file to enable Kong Ingress Controller. When enabling the ingress controller, set env.publish_service
to ensure that Kong Ingress Controller populates the address field in the managed Ingress
resources.
You must also set ingressController.env.kong_admin_token
to the value stored in env.password
to enable communication between Kong Ingress Controller and the Kong Gateway Admin API:
ingressController:
enabled: true
env:
publish_service: kong/kong-dp-kong-proxy
kong_admin_token: kong_admin_password