3

GCP has its own managed Ingress controller for GKE Load balancers. I have also seen the documentation to deploy and leverage Nginx Ingress controller.

https://cloud.google.com/community/tutorials/nginx-ingress-gke

Built-in Ingress controller handles SSL termination as well at Load balancer level. Is there is specific traffic handling capability which makes Nginx a better Ingress controlling candidate for GKE?

Balajee Venkatesh
  • 1,041
  • 2
  • 18
  • 39
  • You want to know differences between nginx ingress and gke ingress? Its well described here: https://medium.com/omnius/kubernetes-ingress-gce-vs-nginx-controllers-1-3-d89d6dd3da73 GCP ingress is built-in in and you dont need to deploy it. Regarding Nginx ingress you have to deploy it and have more configuration options as you can run it on many envs. As mentioned in this article, you can use Nginx Ingress on GKE. Please specify what exactly you need, any scenario? – PjoterS Apr 16 '20 at 18:12

1 Answers1

1

Both, GKE Ingress and Nginx Ingress are responsible for traffic routing.

The default GCE ingress controller has limited functionalities but its more optimized for Cloud environment features. For example you dont need to create Ingress deployments, Its already built in. Another typical thing for Ingress on GKE is that service must by NodePort type

Nginx Ingress is more versatile and supports much more annotation options. You can check all in Nginx docs.

GKE Ingress is using built-in GCP Ingress solution, however if you would like to change it to use nginx ingress you need to specify it in annotations like here.

GKE Ingress:

  annotations:
    kubernetes.io/ingress.class: "gce"

Force Nginx Ingress on GKE:

  annotations:
    kubernetes.io/ingress.class: "nginx"

About tutorial you have mentioned it's bit outdated. Not long time ago I've followed it and here you can find more current implementation for GCP Ingress and Nginx Ingress on GKE.

You can check this article for more detailed comparison.

In short.

GKE Ingress is built-in and it's easier for configure on cloud environment.

Nginx Ingress have more pre-definied annotations and have more options which can be specified/configured.

PjoterS
  • 12,841
  • 1
  • 22
  • 54