Kubernetes exposed LoadBalancer service is very slow

3/9/2018

I have prepared two Kubernetes installations on AWS, one with Heptio Kubernetes Quick start and the second one with Rancher on RancherOS.

In both installations I run my hello-world app and configured the loadbalancing. After that accessing the app via loadbalancer is extremely slow - it takes around 10 seconds. If I access it via the browser, then just the first request is slow, subsequent requests are a lot faster.

Here is what I do to configure my app:

kubectl run tporeba-docker-webapp --image=tporeba/tporeba-docker-webapp:latest --port=8080
kubectl scale deployment tporeba-docker-webapp --replicas=5
kubectl expose deployment/tporeba-docker-webapp --type="LoadBalancer" --port=80 --target-port=8080

Last command also creates the AWS loadbalancer, which dns name I can get by running:

kubectl describe service tporeba-docker-webapp | grep "LoadBalancer Ingress" | awk -P '{print $3'}

The used kubernetes versions are: 1.9.2 for heptio installation

Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b
", GitTreeState:"clean", BuildDate:"2018-01-18T09:42:01Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}

and 1.8.5-rancher1 for Rancher installation relspectively:

Server Version: version.Info{Major:"1", Minor:"8+", GitVersion:"v1.8.5-rancher1", GitCommit:"6cb179822b9f77893eac5612c91a0ed7c0941b45", GitTreeState:"clean", BuildDate:"2017-12-11T17:40:37Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Am I doing something wrong with the configuration? Why the loadbalancer is causing such delays? When I configure the loadbalancing in Rancher (instead of K8s) then the response arrives in 0.5s.

Any ideas?

-- tporeba
amazon-web-services
kubernetes
load-balancing
rancher

0 Answers