Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Very high load balancing costs for minimal Kubernetes Engine setup on Google Cloud Platform

I am trying to determine the most minimal Kubernetes Engine setup for a simple public facing (public load balanced IP) web app.

I have mine setup as follows:

  • 1 Kubernetes Cluster
  • 3 f1-micro nodes (at the time 3 was the minimum required for kubernetes, it may now be less?)
  • 1 load balancer with a forwarding rule to my External IP

My monthly billing cost is: CA$48.10: half of that being from Compute Engine Network Load Balancing: Forwarding Rule Minimum Service Charge in Americas: 744 Hours CA$23.82

Is there someway to reduce this cost? Or is this truly the cost of a minimal Kubernetes Cluster serving an app with a public domain name?

like image 809
Nick Avatar asked Jan 11 '18 14:01

Nick


People also ask

How much does it cost to run Kubernetes?

Spoiler alert: We estimate that operating Kubernetes clusters costs at least $100k and can easily cost more than $500k annually for a ridiculously low amount of resources.

Is Google Kubernetes engine free?

The GKE free tier provides $74.40 in monthly credits per billing account that are applied to zonal and Autopilot clusters. If you only use a single Zonal or Autopilot cluster, this credit will at least cover the complete cost of that cluster each month.

Is Kubernetes cheaper than App Engine?

If we compare the underlying infrastructure cost for both Kubernetes Engine and Google App Engine with 20 CPU and 75 GB of memory, then Google App Engine costs approximately USD $1,156.69, while Kubernetes costs just USD $485.45.

When you run a Kubernetes engine cluster on Google Cloud Platform you gain the benefit of advanced cluster management features that includes?

Kubernetes on Google Cloud When you run a GKE cluster, you also gain the benefit of advanced cluster management features that Google Cloud provides. These include: Google Cloud's load-balancing for Compute Engine instances. Node pools to designate subsets of nodes within a cluster for additional flexibility.


2 Answers

You can expose you service using other ways, if you do not have to much traffic maybe you don't need a load balancer here is one guide link

Using a NodePort you can use the public IP of one of your nodes, set this IP as static and config your DNS to point at this public IP.

like image 200
miguelfrancisco85 Avatar answered Oct 14 '22 07:10

miguelfrancisco85


In theory you don't need a load balancer. If you work with nodeports you can connect to that port on the ip of any vm in your cluster. And kubernetes will still load balance internally to the right pod. However, you might have a hard time managing your DNS and firewall settings using this approach. Since I don't believe its possible to give static ip's to kubernetes nodes.

like image 30
Glenn Vandamme Avatar answered Oct 14 '22 07:10

Glenn Vandamme