You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OS (e.g. from /etc/os-release): Container Linux by CoreOS stable (2303.4.0)
Kernel (e.g. uname -a): Linux ip-10-35-37-57.ec2.internal 4.19.95-coreos Status of controller? #1 SMP Thu Feb 6 12:30:43 -00 2020 x86_64 Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz GenuineIntel GNU/Linux
Install tools: KOPS
What happened
After setting an unknown plugin config option in a KongPlugin (one in use), new Kong pods won't get ANY configuration at bootstrap, returning only 404. The more new pods you have, the greater your error rate. An eventual recycling of all pods would lead to a complete unavailability of APIs.
Expected behavior
Kong should be configured preperly, according to resources set on cluster, despite the existence of a broken/incorrect KongPlugin configuration.
Steps To Reproduce
Create a KongPlugin resource with valid configuration, and attach it to an Ingress;
Add an arbitrary invalid option to that KongPugin as (config.foo=bar);
Ingress controller will start logging as below:
ingress-kong-7444fb49-4595l ingress-controller posting new config to /config: 400 Bad Request {"fields":{"plugins":[null,null,{"config":{"foo":"unknown field"}},{"config":{"foo":"unknown field"}}]},"name":"invalid declarative configuration","code":14,"message":"declarative config is invalid: {plugins={[4]={config={foo=\"unknown field\"}},[3]={config={foo=\"unknown field\"}}}}"}
Delete pods kubectl delete pods -l app=ingress-kong -n kong
Kong will initialize and no configuration will be set by the Ingress Controller to it.
An eventual fix in the plugin configuration (added in step 2) will bring everything up again.
The text was updated successfully, but these errors were encountered:
edsonmarquezani
changed the title
New Kong instances fail to boostrap configuration when are any KongPlugin invalid config set
New Kong instances fail to boostrap configuration with KongPlugin invalid configuration
Feb 11, 2020
Oh... I thought the default deployment files were already setting this up and not even verified. Ok, then, since this prevents incorrect configs from being created, we can go ahead with Kong Ingress until the controller itself is more resilient to these kind of errors. Thanks for pointing this up!
@hbagdi I set up the validatingWebhook properly and it worked as expected. Thanks for the advice. Should I keep this issue open? Is there another one for this "problem" already?
Summary
Kong Ingress controller version
0.7.1
Kong or Kong Enterprise version
Kong (open-source)
Kubernetes version
Environment
uname -a
): Linux ip-10-35-37-57.ec2.internal 4.19.95-coreos Status of controller? #1 SMP Thu Feb 6 12:30:43 -00 2020 x86_64 Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz GenuineIntel GNU/LinuxWhat happened
After setting an unknown plugin config option in a KongPlugin (one in use), new Kong pods won't get ANY configuration at bootstrap, returning only 404. The more new pods you have, the greater your error rate. An eventual recycling of all pods would lead to a complete unavailability of APIs.
Expected behavior
Kong should be configured preperly, according to resources set on cluster, despite the existence of a broken/incorrect KongPlugin configuration.
Steps To Reproduce
config.foo=bar
);Delete pods
kubectl delete pods -l app=ingress-kong -n kong
Kong will initialize and no configuration will be set by the Ingress Controller to it.
An eventual fix in the plugin configuration (added in step 2) will bring everything up again.
The text was updated successfully, but these errors were encountered: