Hello,
open file handle limit must be set on the host running the container, not inside the container. For example, on GKE Clusters running Container-Optimized OS it is 1048576. On EKS it should be around 512K by default. If you are seeing lower limits you have something customized or maybe you are hitting AWS bug like https://github.com/awslabs/amazon-eks-ami/issues/1551
--
Vilius
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
rabbitmq-user...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/rabbitmq-users/58782937-8c8d-4907-9260-732ddbe0528dn%40googlegroups.com.
For GKE 1.33 it was a temporary issue, see https://cloud.google.com/kubernetes-engine/docs/troubleshooting/known-issues#containerd-ulimit-reduced . It was fixed on host level since then. Also, you most probably won‘t be able to increase ulimit above the 1M maximum without modifying fs.nr_open on those GKE Linux nodes https://cloud.google.com/kubernetes-engine/docs/how-to/node-system-config#sysctl-options
I imagine environment variable is useful, but I would vote to leave the limit as is if env. variable is not set. Alternatively, detect too low limit and show a warning during startup, without modifying it. Most of the time this should be decision at the OS/operations level and only for particular cases.
--
Vilius
To view this discussion visit https://groups.google.com/d/msgid/rabbitmq-users/CALWErWLBennftVU%2BwGZseAgvVv9pj0bOhMW_9cmBToOxZuZgvw%40mail.gmail.com.
EKS Version: 1.33
containerd info:
Client:
Version: 1.7.27
Server:
Version: 1.7.27
AMI Information (partial):
Amazon Linux release 2023.8.20250721 (Amazon Linux)
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.8.20250721"
ANSI_COLOR="0;33"
Step-by-step guide:
Install git and go, on all eks nodes.
Restart the containerd service
Make sure you are within the NRI repository with the build file from the previous make command in there. Run:
Now all that is left is to schedule a pod or a kubernetes object according to the spec below:
The important part is the annotation provided here. Every pod scheduled on a node that has NRI setup will be able to define its resource limits, without being superimposed by the opinionated settings of containerd 1.7.27 on AWS EKS (or the settings that influence it).
Links:
GitHub - containerd/nri: Node Resource Interface
containerd/docs/NRI.md at release/1.7 · containerd/containerd