EKS – best instance type to use as worker nodes optimising for price per IP address

We are playing with the new Elastic Container Service for Kubernetes from Amazon (EKS) and have found it interesting that instead of using a overlay network like we have been used to in previous Kubernetes experiments, they are assigning IP addresses to each Pod via their Elastic Network Adaptors. The plugin they use is open-sourced (amazon-vpc-cni-k8s). I like the simplicity of the idea so that network packets aren’t needlessly wrapped in an additional layer but the problem is that there is a limited number of IPs per instance and therefore it restricts the number of Pods that can be run on each node.

If running average applications, the pod limit might not be a issue because the CPU or memory would be the bottleneck but if you are running small mircroservices, or many CronJobs, the limiting factor for a node is the number of IP addresses. I did some calculations to find the best AWS instance type in terms of cheapest per IP:

This is for the Linux hourly on-demand price. I think we’re going to go with t2.large but making sure the unlimited option is set so they don’t run out of credits.

If you want this data yourself, my source was – you can change the columns shown to relevant ones, then copy&paste the table into LibreOffice to calculate the price per IP and sort it.

21/Aug/18 – The t3 instance type was announced and it has the best cost per IP ratio.

No Comment

Post A Comment