projectcontour / contour

Contour is a Kubernetes ingress controller using Envoy proxy.
https://projectcontour.io
Apache License 2.0
3.73k stars 681 forks source link

Contour uses more than 5Gib and gets OOM killed #6763

Open netic-rkm opened 8 hours ago

netic-rkm commented 8 hours ago

What steps did you take and what happened: Contour sometime get OOM killed multiple times an hour.

What did you expect to happen: For it to not get OOM killed.

Anything else you would like to add:

We are seeing Contour is getting OOM killed across multiple cluster, in the beginning we just added more memory to the pod, but now that we have allocated 5Gib to the pod it feels like there is a bigger problem.

Not sure what you need for further debugging, but here is the metrics for cached objects, one strange thing is that it is caching all objects in the cluster instead of only relevant objects.

contour_dag_cache_object{kind="ConfigMap"} 48 contour_dag_cache_object{kind="Gateway"} 1 contour_dag_cache_object{kind="GatewayClass"} 0 contour_dag_cache_object{kind="HTTPProxy"} 169 contour_dag_cache_object{kind="HTTPRoute"} 1 contour_dag_cache_object{kind="Ingress"} 99 contour_dag_cache_object{kind="Namespace"} 48 contour_dag_cache_object{kind="Secret"} 1080 contour_dag_cache_object{kind="Service"} 402

Environment:

github-actions[bot] commented 8 hours ago

Hey @netic-rkm! Thanks for opening your first issue. We appreciate your contribution and welcome you to our community! We are glad to have you here and to have your input on Contour. You can also join us on our mailing list and in our channel in the Kubernetes Slack Workspace