AWS + Kong + ELB any pattern

#1

We fist deployed Kong in local - minikube and everything was fine.
Now We are deploying Kong in production on AWS EKS and we want to put in front an ELB:

In this scenario we have:

db:cassandra

4 services (admin/adminssl/proxy/proxyssl)
What should be the Type of this services in my configuration? because as a pattern we usually use LoadBalancer BUT if we do that will increase cost in AWS a lot.

Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kong-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:

  • host: kongam
    http:
    paths:
    • path: /proxy
      backend:
      serviceName: kong-proxy
      servicePort: 8000
    • path: /admin
      backend:
      serviceName: kong-admin
      servicePort: 8001
    • path: /proxyssl
      backend:
      serviceName: kong-proxy-ssl
      servicePort: 8443
    • path: /adminssl
      backend:
      serviceName: kong-admin-ssl
      servicePort: 8444

Could be a solution a Kong INgress-Controller with the Ingress above for routing?
In that case what should be the type of the 4 services?
We want to access through our ELB that has a proper dns name to Kong via Kon-Ingress Controller

#2

That is the purpose of Ingress, avoid having 15 Load Balancers and save on cost, operations and maintenance.

A ClusterIP service would work fine in this case. The Ingress Controller will always resolve the endpoints of your service and forward traffic directly your pods (skipping kube-proxy).