I've been using this load-balancer tutorial. It works fine when I use ngnix image but if I try and use my own app image it changes the backend to unhealthy.
My application redirects on / (returns a 302) but I added a livenessProbe in the pod definition:
    livenessProbe:
      httpGet:
        path: /ping
        port: 4001
        httpHeaders:
          - name: X-health-check
            value: kubernetes-healthcheck
          - name: X-Forwarded-Proto
            value: https
          - name: Host
            value: foo.bar.com
My ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo
spec:
  backend:
    serviceName: foo
    servicePort: 80
  rules:
  - host: foo.bar.com
Service configuration:
kind: Service
apiVersion: v1
metadata:
  name: foo
spec:
  type: NodePort
  selector:
    app: foo
  ports:
    - port: 80 
      targetPort: 4001
When I do a ingress describe I get:
backends:       {"k8s-be-32180--5117658971cfc555":"UNHEALTHY"}
The ingress rules:
Rules:
  Host  Path    Backends
  ----  ----    --------
  * *   foo:80 (10.0.0.7:4001,10.0.1.6:4001)