Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kubernetes support for Internal Load Balancers in AWS

I have a Kubernetes cluster that is connected over VPN to an on-premise datacentre. This cluster needs to "expose" Services to other programs running in the datacenter, but not to the Internet.

Currently I've been creating Services with type "NodePort" and then manually creating an Internal (Private) Load balancer to map an endpoint to the Cluster Node/Port combination.

However, this approach has some drawbacks:

  • Having to manually add/remove Nodes from the load balancer (or have some sort of process which "scans" the list of all nodes and makes sure they're attached to the ELB)
  • Having to make sure to delete the ELB when deleting a Service (the "orphan ELB" problem)

Does anyone know of any way to configure Kubernetes to bring up "Internal" load balancers in AWS instead of Externally facing ones and manage them in the same way that it does the External ones?

like image 995
srkiNZ84 Avatar asked Jun 16 '16 21:06

srkiNZ84


People also ask

What is Kubernetes internal load balancer?

An internal load balancer makes a Kubernetes service accessible only to applications running in the same virtual network as the Kubernetes cluster. This article shows you how to create and use an internal load balancer with Azure Kubernetes Service (AKS). Note.

Does Kubernetes support load balancing?

With Kubernetes you don't need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them.

Can Kubernetes be used with AWS?

Q: Does AWS support Kubernetes? AWS makes it easy to run Kubernetes. In fact, AWS has the most customers running Kubernetes in the cloud, with the majority of Kubernetes deployments running on AWS according to the Cloud Native Computing Federation (CNCF).

What is internal load balancer in AWS?

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer.


1 Answers

latest format is

annotations:
      service.beta.kubernetes.io/aws-load-balancer-internal: true
like image 57
Prabhat Avatar answered Oct 30 '22 03:10

Prabhat