Kong / kubernetes-ingress-controller

:gorilla: Kong for Kubernetes: The official Ingress Controller for Kubernetes.
https://docs.konghq.com/kubernetes-ingress-controller/
Apache License 2.0
2.22k stars 592 forks source link

Service object not updated from KongIngress configuration (0.4.0) #281

Closed simonwahlgren closed 5 years ago

simonwahlgren commented 5 years ago

Summary

Service object is not updated from KongIngress configuration. Worked before in 0.3.0.

Kong Ingress controller version 0.4.0 (dbless)

Kubernetes version

Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:45:25Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}

What happened

The following KongIngress configuration no longer updates the related service object configuration (write_timeout, read_timeout):

apiVersion: configuration.konghq.com/v1
kind: KongIngress
metadata:
  name: itop
proxy:
  write_timeout: 240000
  read_timeout: 240000
route:
  strip_path: false
---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: itop
spec:
  tls:
  - hosts:
    - itop.aranya.localhost
    secretName: itop-tls
  rules:
  - host: itop.aranya.localhost
    http:
      paths:
      - path: /
        backend:
          serviceName: itop
          servicePort: 80

The route object is configured correctly however (strip_path).

service route

Nothing suspicious going on in the default logs either.

ingress-kong-7dfbbfcfd4-9zzsn proxy 2019/04/27 10:15:05 [notice] 39#0: *6974 [lua] cache.lua:186: purge(): [DB cache] purging (local) cache, client: 127.0.0.1, server: kong_admin, request: "POST /config HTTP/1.1", host: "localhost:8444"
ingress-kong-7dfbbfcfd4-9zzsn proxy 127.0.0.1 - - [27/Apr/2019:10:15:05 +0000] "POST /config HTTP/1.1" 201 10720 "-" "Go-http-client/1.1"
ingress-kong-7dfbbfcfd4-9zzsn ingress-controller I0427 10:15:05.683864       6 controller.go:120] successfully synced configuration to Kong
ingress-kong-7dfbbfcfd4-9zzsn proxy 2019/04/27 10:15:08 [notice] 39#0: *6996 [lua] cache.lua:186: purge(): [DB cache] purging (local) cache, client: 127.0.0.1, server: kong_admin, request: "POST /config HTTP/1.1", host: "localhost:8444"
ingress-kong-7dfbbfcfd4-9zzsn proxy 127.0.0.1 - - [27/Apr/2019:10:15:08 +0000] "POST /config HTTP/1.1" 201 10720 "-" "Go-http-client/1.1"
ingress-kong-7dfbbfcfd4-9zzsn ingress-controller I0427 10:15:08.904611       6 controller.go:120] successfully synced configuration to Kong
ingress-kong-7dfbbfcfd4-9zzsn proxy 2019/04/27 10:15:12 [notice] 39#0: *7010 [lua] cache.lua:186: purge(): [DB cache] purging (local) cache, client: 127.0.0.1, server: kong_admin, request: "POST /config HTTP/1.1", host: "localhost:8444"
ingress-kong-7dfbbfcfd4-9zzsn proxy 127.0.0.1 - - [27/Apr/2019:10:15:12 +0000] "POST /config HTTP/1.1" 201 10720 "-" "Go-http-client/1.1"
ingress-kong-7dfbbfcfd4-9zzsn ingress-controller I0427 10:15:12.166979       6 controller.go:120] successfully synced configuration to Kong

Expected behavior

Service object updated with configured write_timeout and read_timeout.

hbagdi commented 5 years ago

This works as expected.

What you need to do is apply the configuration.konghq.com annotation on the Service resource in k8s which references the KongIngress custom resource. This is noted in the changelog.