When setting up a Kubernetes ingress on Google Container Engine, you can choose the ingress class (gce
or nginx
). I realize that the GCE class provisions a load balancer on Google's Cloud Platform, which costs about $20/mo each.
After some research, I couldn't find any prevailing reason why Google's load balancer is any better than using the NGINX ingress class—at least not before hitting a very large scale.
In fact, it appears that the GCE class does not support:
- External authentication with
ingress.kubernetes.io/auth-url
- Basic authentication
- A few other small features built into the NGINX ingress
Are there any benefits I'm not aware of for using the GCE class vs. the NGINX class for ingresses?
Best Answer
After some further reading and testing, I did find a few benefits. I also realized that using the NGINX controller would still provision a load balancer... thereby not avoiding the ~$20/mo cost.
Differences
service
to be designated astype: LoadBalancer
HTTP(S) load balancer
Network load balancer
Benefits: