title: Kubernetes Ingress (GCE) keeps returning 502 error
body: <p>I am trying to setup an Ingress in GCE Kubernetes. But when I visit the IP address and path combination defined in the Ingress, I keep getting the following 502 error:</p>
  
  <p><a href="https://i.stack.imgur.com/HVlD1.png" rel="noreferrer"><img src="https://i.stack.imgur.com/HVlD1.png" alt="Ingress 502 error"></a></p>
  
  <hr>
  
  <p>Here is what I get when I run: <code>kubectl describe ing --namespace dpl-staging</code></p>
  
  <pre><code>Name:           dpl-identity
  Namespace:      dpl-staging
  Address:        35.186.221.153
  Default backend:    default-http-backend:80 (10.0.8.5:8080)
  TLS:
    dpl-identity terminates
  Rules:
    Host  Path    Backends
    ----  ----    --------
    *
          /api/identity/*     dpl-identity:4000 (&lt;none&gt;)
  Annotations:
    https-forwarding-rule:    k8s-fws-dpl-staging-dpl-identity--5fc40252fadea594
    https-target-proxy:       k8s-tps-dpl-staging-dpl-identity--5fc40252fadea594
    url-map:          k8s-um-dpl-staging-dpl-identity--5fc40252fadea594
    backends:         {"k8s-be-31962--5fc40252fadea594":"HEALTHY","k8s-be-32396--5fc40252fadea594":"UNHEALTHY"}
  Events:
    FirstSeen LastSeen    Count   From                SubObjectPath   Type        Reason  Message
    --------- --------    -----   ----                -------------   --------    ------  -------
    15m       15m     1   {loadbalancer-controller }          Normal      ADD dpl-staging/dpl-identity
    15m       15m     1   {loadbalancer-controller }          Normal      CREATE  ip: 35.186.221.153
    15m       6m      4   {loadbalancer-controller }          Normal      Service no user specified default backend, using system default
  </code></pre>
  
  <p>I think the problem is <code>dpl-identity:4000 (&lt;none&gt;)</code>. Shouldn't I see the IP address of the <code>dpl-identity</code> service instead of <code>&lt;none&gt;</code>?</p>
  
  <p>Here is my service description: <code>kubectl describe svc --namespace dpl-staging</code></p>
  
  <pre><code>Name:           dpl-identity
  Namespace:      dpl-staging
  Labels:         app=dpl-identity
  Selector:       app=dpl-identity
  Type:           NodePort
  IP:             10.3.254.194
  Port:           http    4000/TCP
  NodePort:       http    32396/TCP
  Endpoints:      10.0.2.29:8000,10.0.2.30:8000
  Session Affinity:   None
  No events.
  </code></pre>
  
  <p>Also, here is the result of executing: <code>kubectl describe ep -n dpl-staging dpl-identity</code></p>
  
  <pre><code>Name:       dpl-identity
  Namespace:  dpl-staging
  Labels:     app=dpl-identity
  Subsets:
    Addresses:        10.0.2.29,10.0.2.30
    NotReadyAddresses:    &lt;none&gt;
    Ports:
      Name    Port    Protocol
      ----    ----    --------
      http    8000    TCP
  
  No events.
  </code></pre>
  
  <hr>
  
  <p>Here is my deployment.yaml:</p>
  
  <pre><code>apiVersion: v1
  kind: Secret
  metadata:
    namespace: dpl-staging
    name: dpl-identity
  type: Opaque
  data:
    tls.key: &lt;base64 key&gt;
    tls.crt: &lt;base64 crt&gt;
  ---
  apiVersion: v1
  kind: Service
  metadata:
    namespace: dpl-staging
    name: dpl-identity
    labels:
      app: dpl-identity
  spec:
    type: NodePort
    ports:
      - port: 4000
        targetPort: 8000
        protocol: TCP
        name: http
    selector:
      app: dpl-identity
  ---
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    namespace: dpl-staging
    name: dpl-identity
    labels:
      app: dpl-identity
    annotations:
      kubernetes.io/ingress.allow-http: "false"
  spec:
    tls:
    - secretName: dpl-identity
    rules:
    - http:
        paths:
          - path: /api/identity/*
            backend:
              serviceName: dpl-identity
              servicePort: 4000
  ---
  apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    namespace: dpl-staging
    name: dpl-identity
  kind: Ingress
  metadata:
    namespace: dpl-staging
    name: dpl-identity
    labels:
      app: dpl-identity
    annotations:
      kubernetes.io/ingress.allow-http: "false"
  spec:
    tls:
    - secretName: dpl-identity
    rules:
    - http:
        paths:
          - path: /api/identity/*
            backend:
              serviceName: dpl-identity
              servicePort: 4000
  ---
  apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    namespace: dpl-staging
    name: dpl-identity
    labels:
      app: dpl-identity
  spec:
    replicas: 2
    strategy:
      type: RollingUpdate
    template:
      metadata:
        labels:
          app: dpl-identity
      spec:
        containers:
        - image: gcr.io/munpat-container-engine/dpl/identity:0.4.9
          name: dpl-identity
          ports:
          - containerPort: 8000
            name: http
          volumeMounts:
          - name: dpl-identity
            mountPath: /data
        volumes:
        - name: dpl-identity
          secret:
            secretName: dpl-identity
  </code></pre>