Closed gjkim42 closed 1 year ago
found that the issue is related to the fact that the mgrc.List
returns httpRouteList
without Continue
token even if there are more than defaultEndpointSliceListPagingLimit
(100) httpRoutes
.
mgrc.List
always returns exactly 100 items which are a subset of the total resources. It ends up generating different attachedRoutes
values, as each given subset changes every time.
I believe that we MUST not use continue
token in a cached client.
We can simply remove those paginations.
@gjkim42 Thank you for reporting and handling the fix yourself. I believe you can apply for a contributor T-shirt having a bug fixed.
Is there an existing issue for this?
Current Behavior
When I create more than 100
httproutes
, the kong ingress controller causes excessive resource conflicts on kube-apiserver side, as it cannot correctly determine theattachedRoutes
of aGateway
resource but the value keeps fluctuating.Expected Behavior
When I create more than 101
httproutes
, the resource usage of kube-apiserver does not increase to an insane level, andattachedRoutes
is correctly set.Steps To Reproduce
Make sure that kube-apiserver's
(code_resource:apiserver_request_total:rate5m{verb="write", resource="gateways"})
metric is excessively increased.Make sure that the issue is addressed after removing those
httproutes
.Kong Ingress Controller version
Kubernetes version
Anything else?
No response