-
Notifications
You must be signed in to change notification settings - Fork 748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataStore has no available IP/Prefix addresses #2669
Comments
@doryer those logs are not out of the ordinary if the node is scaling up and attaching new ENIs. Are you able to schedule pods on this node? Does the subnet that this node was deployed in have available IPv4 addresses? Essentially, the IPAM daemon attaches ENIs to the node as demand and configuration (minimum/warm targets) requires. If no IPs are available then either:
|
Hey @jdn5126 thanks for the quick reply.
|
Can you collect the node logs from this node and email them to To collect the node logs, you can run |
No problem, sent it to you |
@doryer the IP pool cannot be increase on each node because IMDS calls are getting 404s:
Can you confirm that nodes are able to curl IMDS? You can run this from a node (ref: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html):
I am not sure why nodes would not be able to reach IMDS unless you are explicitly blocking it with some network policy. I also see certificate errors in the node logs trying to curl the API server. As a side note, what do you have |
Hey, so about IMDS, i've runned the command on the nodes and it does work, otherwise we would have lots of issues so I'm not sure why he suffers from this issue, also we see it on some specific nodes when the rest of the nodes in the cluster are running fine. Regarding IMDS, we see issues on other nodes in which we get wrong results from IMDS on the machine, we get network interfaces which do not exist anymore in AWS. About log files, |
@doryer I have seen IMDS out-of-sync issues before, but the VPC CNI periodically syncs with IMDS, so they should resolve within a short amount of time. If the issue persists, that points to an instance-level issue, and we will need help from the EC2 team to investigate. Can you file a support ticket from your AWS console? I think that's the best next step to get resolution |
So we had a few nodes where the IMDs were not synced (I don't know how is it possible as well ). we terminated them. BTW, another thing I see, that i see increase in the |
Hmm... nothing immediately comes to mind. Can you open an AWS support case for this issue? That will allow us to dig deeper into the instances themselves. More progress can be made through that channel than on this thread. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days |
/not stale |
/remove-lifecycle stale |
Closing this issue, as its resolution will need to go through the support case |
This issue is now closed. Comments on closed issues are hard for our team to see. |
Hi @jdn5126 / @doryer. What was the support case advice? I am experiencing the same problem after enabling enforcing mode CNI plugin:
Most pods are stuck in |
@creinheimer , please open a new ticket. The error most likely indicates there are no free ip addresses available for your ENI. |
It works well if network policies are disabled. I am experiencing the exact same problem mentioned in this issue. That's why I am curious about the AWS support team's advice. |
We're running on v1.15.1 with |
What happened:
There are error logs that we see also in the old version and new versions of the CNI, indicating that the sandbox DataStore has no available IP/Prefix addresses. From looking on the nodes, seems like those are pretty empty nodes ( 10 Pods for example ) which shouldn't have issue on assigning and also we see it pretty wide across all aws-node pods.
We’re not sure, even after reading the source code, if there’s an impact on the CNI performance, nor if it causes it issues with allocating IPv4 addresses to pods.
Attach logs
ERROR logs:
{"level":"error","ts":"2023-11-16T10:05:03.920Z","caller":"datastore/data_store.go:682","msg":"DataStore has no available IP/Prefix addresses"}
WARN logs that being output near the time of the ERROR logs:
{"level":"warn","ts":"2023-11-16T10:06:18.306Z","caller":"ipamd/rpc_handler.go:230","msg":"UnassignPodIPAddress: Failed to find sandbox _migrated-from-cri/83faffebdfb826372e05d2bc67b6a3e8c40dd4b07dd034fafad9f3838aafa985/unknown"}
Which also after reading the relvant code we're not sure why we see the migration_from_cri and unknown fields.
What you expected to happen:
aws-node pods should be assigning IPv4 addresses properly. without errors.
How to reproduce it (as minimally and precisely as possible):
We're not really sure as well
Environment:
kubectl version
): v1.25.15cat /etc/os-release
): Ubuntu 20.04.6 LTSuname -a
): 5.15.0-1037-awsThe text was updated successfully, but these errors were encountered: