Comments (16)
i can confirm this bug with kong-0.13.1-centos
and k8s v1.11.0
from kubernetes-ingress-controller.
Thank you for opening this issue.
Kong CE 0.14.0 is currently not supported with the Ingress controller.
The bug you're seeing is because Kong 0.14.0 introduces a breaking change in how consumers are handled on Admin API.
from kubernetes-ingress-controller.
Hi @AtzeDeVries
I cannot reproduce this issue with kong-0.13.1-centos
and k8s v1.10.0
.
Since the k8s version changed, are you sure you're seeing exact those errors? Could you share some error logs?
from kubernetes-ingress-controller.
Hi @hbagdi
we could probably add and maintain KONG supported versions on Readme so less people end up having this same error.
from kubernetes-ingress-controller.
Hi @heitorganzeli
Just opened up #77
Thank you for your patience on this. Let us know if you encounter any other issue.
from kubernetes-ingress-controller.
I am also seeing this in kong:0.13.1-centos
like @AtzeDeVries. This is a new kong ingress deployment as of today so there's not many variables here. The KongConsumer objects are created in k8s but the logs are failing to synchronize that to kong very similar to what @heitorganzeli stated.
from kubernetes-ingress-controller.
@jaygorrell What is your k8s version? Could you post some logs that you're seeing?
from kubernetes-ingress-controller.
Sure, I'm on k8s v1.9.3
and it's essentially looping ove rthis in the logs
W0811 02:21:18.923490 7 queue.go:113] requeuing default/token-service-public, err creating a Kong consumer: the server rejected our request for an unknown reason (post consumers.meta.k8s.io)
I0811 02:21:21.919563 7 controller.go:127] syncing Ingress configuration...
I0811 02:21:22.252486 7 kong.go:454] checking if Kong consumer auth-service exists
I0811 02:21:22.257413 7 kong.go:458] Creating Kong consumer 4344b063-9d0c-11e8-9eb0-06c02f17e102
E0811 02:21:22.258096 7 controller.go:130] unexpected failure updating Kong configuration:
creating a Kong consumer: the server rejected our request for an unknown reason (post consumers.meta.k8s.io)
The default/token-service-public
changes each time and the odd thing is that it seems to be coming from the names of my different Kong custom resource types... the names match KongConsumer
, KongIngress
, and KongPlugin
resources.
from kubernetes-ingress-controller.
Ah, this seems to be isolated to specifying only the customId
field, which should work as it's semi-optional with username
.
This will fail to create in Kong:
apiVersion: configuration.konghq.com/v1
kind: KongConsumer
metadata:
name: customid-test
customId: auth-service
Another noteworthy trait: it seems to block other Kong changes from applying. My ingress changes weren't going through to test #56 so I tried deleting the consumer resource and that cleared it right up.
from kubernetes-ingress-controller.
@jaygorrell Thanks for the logs and narrowing it down to customId
issue. As you said, this should work since customId
is a semi-optional field. We welcome and value contributions from the community so if you feel like doing it, we will be happy to assist you!
Another noteworthy trait: it seems to block other Kong changes from applying. My ingress changes weren't going through to test #56 so I tried deleting the consumer resource and that cleared it right up.
The ingress controller breaks out of the synchronization loop as soon as any operation has an error, hence the behavior.
from kubernetes-ingress-controller.
I do wish I had time to learn enough Go to contribute but I'll have to let someone else have the fun here :)
from kubernetes-ingress-controller.
@jaygorrell
I think the issue you're facing here is because of incorrect customId
property in your yaml.
Please use custom_id
.
The following should work fine:
apiVersion: configuration.konghq.com/v1
kind: KongConsumer
metadata:
name: foo
custom_id: foo
from kubernetes-ingress-controller.
Hah, of course. Thanks for pointing that out, and opened a tiny PR to address the docs.
from kubernetes-ingress-controller.
Guys, when are you going to support Kong 0.14?
from kubernetes-ingress-controller.
Support for 0.14 has landed in the next
Git branch of this repository.
There are a few other enhancement in progress which will be included in our next release.
from kubernetes-ingress-controller.
The ingress controller breaks out of the synchronization loop as soon as any operation has an error, hence the behavior.
@hbagdi: You did fix that in later versions, I hope? I mean, why would single configuration issue for one object prevent the whole ingress controller from working?
from kubernetes-ingress-controller.
Related Issues (20)
- Definition of KongCustomEntity CRD
- Store schema of custom entity and validate KongCustomEntity against Kong gateway
- Translate KongCustomEntity CRs to Kong entities in declarative configuration
- Test Request: Kong Gateway EE version 3.7.0.0-rc.2 HOT 2
- Integration/e2e tests for usage of custom entities
- Documents for using custom entities in KIC
- Redesign interface of `configPatch` in plugin configurations
- Improve webhook to reject plugins that leads to invalid configuration (duplication) when created
- Make a new snapshot of the store only when it differs from previous snapshot
- Simplify ReferenceGrant resolution
- Test Request: Kong Gateway EE version 3.7.0.0-rc.3 HOT 2
- validating webhook is sent to non-leader pod will cause the webhook fail in gateway discovery mode
- kong open telemetry plugin header_type datadog not valid option and rejected by admission webhook HOT 6
- Test Request: Kong Gateway [OSS|EE] version 3.7.0.0-rc.4 HOT 4
- Release 3.1.5 HOT 2
- Automated test ensuring `ResolveDependencies` is implemented for all supported object types HOT 1
- konnect update failures after realm added to key-auth plugin HOT 2
- Istio e2e test cases fails when istio bumped to 1.22.0 HOT 1
- Improve changelog processing to prevent conflicts
- Feature request for BackendLBPolicy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubernetes-ingress-controller.