I installed Kong on AWS EKS using Helm 2 charts. While I following the documents on Github for Kong Ingress Controller, realized that the recommended ELB for Kong is L4. I wonder what is the default type for the load balancer without specifying using annotations (i.e service.beta.kubernetes.io/aws-load-balancer-type: nlb). The Github link is below:
I also wonder how to use Ingress Resources for other services (i.e Kong Admin API). I’m a bit confused whether to use them behind the kong proxy service, or all of them behind an ELB.
I followed the documents and forum but couldn’t find an exact answer for my question. I really want to use Kong Ingress Controller and Kong, but I think need some guidance along with the structure on Kubernetes.
@dilarat by default kubernetes will provision classic load balancer if for a service you specify type: LoadBalancer.
Secondly why would you want to expose admin api out in public? If you do want, it’s nothing different from others, you simply need an ingress pointing to a service which in turn has your kong pods as upstream.
Thank you for your collaboration @ajay.
The structure that I’m using before ingress controller was depends on Admin API to configure Kong. This was costly, as it has a own load balancer. I read in somewhere in the Kong Nation, the ingress resources can be used to expose this services in order to down the cost and to be more convenient. That’s way I asked it for.
I know the recommended design for the Ingress Controller is using CRDs to configure Kong, and I would like to use them effectively.
You can expose Admin API behind the Kong proxy service.
You really only need a single LB for kong-proxy service and all the other services can be multiplexed on the same LB.
Please look into values.yaml in the Helm chart on how to do it.