Skip to content

GKE Ingress controller ignoring ingress.class annotation #476

@sfriedel

Description

@sfriedel

I'm running multiple ingress controllers on GKE, ingress-gce via the "HTTP load balancing" addon and ingress-nginx installed via the helm chart.

This setup was working nicely for roughly half a year but since the latest upgrade to 1.10.7-gke.1 the gce ingress controller is creating cloud load balancers for Ingress resources that it should not act on because they have an kubernetes.io/ingress.class: nginx annotation.

This is one if the Ingress resources that the GCE ingress controller created a load balancer for:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/backends: '{"k8s-be-30389--b3e8e09a299650c8":"Unknown","k8s-be-30967--b3e8e09a299650c8":"Unknown","k8s-be-31662--b3e8e09a299650c8":"Unknown","k8s-be-32269--b3e8e09a299650c8":"Unknown","k8s-be-32270--b3e8e09a299650c8":"HEALTHY","k8s-be-32586--b3e8e09a299650c8":"Unknown","k8s-be-32744--b3e8e09a299650c8":"Unknown"}'
    ingress.kubernetes.io/forwarding-rule: k8s-fw-review-review-feature-wi-fqtki7-civist--b3e8e09a299650c0
    ingress.kubernetes.io/target-proxy: k8s-tp-review-review-feature-wi-fqtki7-civist--b3e8e09a299650c0
    ingress.kubernetes.io/url-map: k8s-um-review-review-feature-wi-fqtki7-civist--b3e8e09a299650c0
    kubernetes.io/ingress.class: nginx
  creationTimestamp: 2018-09-05T13:29:12Z
  generation: 1
  labels:
    app: review-feature-wi-fqtki7-civist
    chart: civist-0.1.0
    heritage: Tiller
    release: review-feature-wi-fqtki7
  name: review-feature-wi-fqtki7-civist
  namespace: review
  resourceVersion: "68953312"
  selfLink: /apis/extensions/v1beta1/namespaces/review/ingresses/review-feature-wi-fqtki7-civist
  uid: *** REMOVED ***
spec:
  rules:
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc1
          servicePort: http
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc2
          servicePort: http
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc3
          servicePort: http
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc4
          servicePort: http
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc5
          servicePort: http
  - host: *** REMOVED ***
    http:
      paths:
      - backend:
          serviceName: svc6
          servicePort: svc-http
status:
  loadBalancer:
    ingress:
    - ip: *** REMOVED ***

Any ideas why this is happening?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions