title: Ingress doesn't work on Google Kubernetes Engine (GKE)
body: <p>Below given the config, I am trying to deploy on Google Kubernetes Engine. But after deployment, I can't access the service on the ingress external IP. </p>
  
  <p>I can access the service if I do:</p>
  
  <pre><code>$ kubectl exec POD_NAME
  # curl GET localhost:6078/todos
  </code></pre>
  
  <p>But I can't access it through ingress. GKE UI show errors like:</p>
  
  <ul>
  <li>Error during sync: error while evaluating the ingress spec: could not find service "default/todo"</li>
  </ul>
  
  <p>OR</p>
  
  <ul>
  <li>Some backend services are in UNHEALTHY state</li>
  </ul>
  
  <p>Even though the backend pod is up and running.</p>
  
  <p>I believe there is something wrong with the service. </p>
  
  <pre><code>---
  apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    name: todo
    labels:
      app: todo
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: todo
    template:
      metadata:
        labels:
          app: todo
      spec:
        containers:
          - image: eu.gcr.io/xxxxx/todo
            name: todo
            ports:
              - containerPort: 6078
                protocol: TCP
  ---
  apiVersion: v1
  kind: Service
  metadata:
    name: todo
    labels:
      app: todo
  spec:
    type: NodePort
    ports:
      - port: 6078
    selector:
      app: todo
  ---
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: todo-ingress
  spec:
    rules:
    - http:
    paths:
    - path: /*
      backend:
        serviceName: todo
        servicePort: 6078
  </code></pre>