<p>I have created an ingress resource in my Kubernetes cluster on google cloud. </p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gordion
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.global-static-ip-name: gordion-ingress
    networking.gke.io/managed-certificates: gordion-certificate,gordion-certificate-backend
spec:
  rules:
  - host: backend.gordion.io
    http:
      paths:
      - path: /
        backend:
          serviceName: backend
          servicePort: 80
</code></pre>

<p>Everything works. However, I have not created any <code>ingress-controller</code>. <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" rel="nofollow noreferrer">the official docs state</a> that it must have it.</p>

<blockquote>
  <p>You must have an ingress controller to satisfy an Ingress. Only
  creating an Ingress resource has no effect.</p>
</blockquote>

<p>So where is my ingress-controller if my routing actually works? how do I see its configuration?</p>

<p>In Google Kubernetes Engine (GKE), when you create an Ingress object, the built-in GKE ingress controller will take care of creating the appropriate HTTP(S) load balancer which conforms to your Ingress and its Service(s). For more information, have a look at this <a href="https://cloud.google.com/kubernetes-engine/docs/concepts/ingress" rel="nofollow noreferrer">Google Cloud Document</a> on "HTTP(S) load balancing with Ingress".</p>
