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
The allocatableCount reported by CSINode on EKS clusters doesn't accurately take into account the actual number of ENIs attached to the nodes for calculating allocatable.count. The calculation only considers statically attached ENIs present at node bootstrap and doesn't account for the ENIs dynamically allocated by the VPC CNI. This leads to a static allocatableCount that doesn't update as the VPC CNI attaches more ENIs to accommodate new workloads.
What you expected to happen?
The allocatableCount should dynamically take into account the actual number of ENIs attached to the node, including both static ENIs and those dynamically provisioned by the VPC CNI. This would provide an accurate representation allocation.count for CSINode.
How to reproduce it (as minimally and precisely as possible)?
Create an EKS cluster with nodes using an instance type (e.g., r6 instances).
Observe the initial allocatableCount of ENIs reported on CSINode resource. This value will be based on the instance's maximum ENI limit minus the initial ENIs attached + EBS volumes at bootstrap.
Deploy workloads that require the VPC CNI to attach additional ENIs to the nodes.
Observe that the allocatableCount remains static even though the actual number of attached ENIs has increased.
Anything else we need to know?:
This issue can lead to inaccurate resource reporting, and difficulties in managing workloads. Leading to below errors on workloads.
Warning FailedAttachVolume 80s (x12 over 56m) attachdetach-controller (combined from similar events): AttachVolume.Attach failed for volume "pvc-0c2a501a-bb06-4c9b-95aa-4cda4fb6aac2" : rpc error: code = Internal desc = Could not attach volume "vol-07b6e18e94978a87f" to node "i-0240e6b849f452539": WaitForAttachmentState AttachVolume error, expected device but be attached but was attaching, volumeID="vol-07b6e18e94978a87f", instanceID="i-0240e6b849f452539", Device="/dev/xvdam", err=operation error EC2: AttachVolume, https response error StatusCode: 400, RequestID: 7edb421b-9dc2-4001-af1e-73d628fabfb5, api error VolumeInUse: vol-07b6e18e94978a87f is already attached to an instance
This is a known issue that we are actively working on. Currently the CSINode Allocatable property is immutable and as such we can not change it after startup to account for newly attached ENIs. We have purposed KEP-4876 to address this issue and we are targeting 1.33 for alpha. For some workarounds for this issue please see our FAQ.
/kind bug
What happened?
The
allocatableCount
reported by CSINode on EKS clusters doesn't accurately take into account the actual number of ENIs attached to the nodes for calculating allocatable.count. The calculation only considers statically attached ENIs present at node bootstrap and doesn't account for the ENIs dynamically allocated by the VPC CNI. This leads to a staticallocatableCount
that doesn't update as the VPC CNI attaches more ENIs to accommodate new workloads.What you expected to happen?
The
allocatableCount
should dynamically take into account the actual number of ENIs attached to the node, including both static ENIs and those dynamically provisioned by the VPC CNI. This would provide an accurate representation allocation.count for CSINode.How to reproduce it (as minimally and precisely as possible)?
allocatableCount
of ENIs reported on CSINode resource. This value will be based on the instance's maximum ENI limit minus the initial ENIs attached + EBS volumes at bootstrap.allocatableCount
remains static even though the actual number of attached ENIs has increased.Anything else we need to know?:
This issue can lead to inaccurate resource reporting, and difficulties in managing workloads. Leading to below errors on workloads.
Environment
kubectl version
):The text was updated successfully, but these errors were encountered: