Addressing CNI IP consumption and Warm Pool IP availability calculations #660
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am skeptical of the previous statement made in the documentation where the CNI consumption of IP addresses is said to be 49.
In total, CNI should be taking up 50 IP addresses for nodes + pods. (20 + 20 + 10)
Now, the previous statement mentioned that it will use 49 IP addresses in warm pool which seemed wrong. (Warm = unused)
That being said, I have added my calculations in the document as well to make it easier.
For Node 1 and Node 2 (identical configuration):
2 ENIs × 10 IPs per ENI = 20 IPs total
Subtract 2 primary IPs (1 per ENI) = 18 IPs
Subtract 1 IP for CoreDNS pod = 17 IPs available
So each of these nodes has 17 IPs in warm pool
For Node 3:
1 ENI × 10 IPs = 10 IPs total
Subtract 1 primary IP = 9 IPs available in warm pool
Total warm pool calculation:
17 (Node 1) + 17 (Node 2) + 9 (Node 3) = 43 IPs
Primary IPs from each ENI would not be considered under warm pool. CoreDNS takes up 1 IP each for 2 pods.
Node 3 doesn't have coreDNS and has one primary IP on primary ENI, so it's left with 9 IPs available for the pods.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.