Nginx headers not appearing with Ingress controller

8/2/2018

I'm having a problem where my NGINX headers are not showing when I connect to the ingress controller's IP. For example, let's say I have a HTTP header called "x-Header" setup in my NGINX config map. If I go to the ingress controller's IP I don't see the header, but when I go to the NGINX load balancer IP, I see the headers. Also when I go to the ingress IP, I get the correct cert, but the NGINX IP gives me a self signed cert. I don't think I have the controller setup right.

Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/ingress.global-static-ip-name: staticip
  labels:
    app: exam
spec:
  tls:
  - hosts:
    - www.example.com
    secretName: tls-secret
  backend:
    serviceName: example-app
    servicePort: 80

Ingress node:

apiVersion: v1
kind: Service
metadata:
  name: exam-node
  labels:
    app: exam
spec:
  type: NodePort
  selector:
    app: example-app
    tier: backend
  ports:
  - port: 80
    targetPort: 80

To create the NGINX controller I used the command helm install stable/nginx-ingress --name nginx-ingress --set rbac.create=true

My nginx controller logs say this:

2018-07-29 19:57:11.000 CDT updating Ingress default/example-ingress status to [{12.346.151.45 }]

It seems the nginx controller knows about ingress but ingress doesn't know about the controller. I am probably confused on how Ingress and NGINX work together.

-- Jack Withes
google-kubernetes-engine
kubernetes
kubernetes-helm
kubernetes-ingress
nginx

0 Answers