Search code examples
amazon-web-servicesamazon-eksamazon-vpc

How does WARM_ENI_TARGET and WARM_IP_TARGET free up some IPs?


Is this list of max pod per ENI assumed that WARM_ENI_TARGET=0?

If I have 1 c5.xlarge (4 max ENI and 15 max IPs per ENI) and WARM_ENI_TARGET=1, what is the scenario before it complains that there are no more available IPs?

I just kind of understand WARM_ENI_TARGET, WARM_IP_TARGET and MINIMUM_IP_TARGET works, but it's not clear to me how setting MINIMUM_IP_TARGET and WARM_IP_TARGET on an EKS cluster with 0 IPs available free up some IPs, I assumed that it throws the no available IPs when 3 ENIs with fully attached to Pod IPs? or the 1 warm ENI will still be utilized?


Solution

  • Note that it can free up IPs only when maximum assignable IPs for that instance is not reached yet. Meaning when WARM_ENI_TARGET or WARM_IP_TARGET is with value more than 0. If all the IPs in the instance/node is already assigned to pod, you either need to change you EC2 type instance with bigger ENI/IPs capacity or resize your subnet.

    I need to step back and reunderstand the word "WARM" for WARM_ENI_TARGET and WARM_IP_TARGET. Warming up is used to make assigning of IPs to pod quicker by making it available in the instance. The trade off of this performance is you can run out of IPs for other instance/node since you reserve(not yet assigned to a pod) it for instance/node.

    Is this list of max pod per ENI assumed that WARM_ENI_TARGET=0?

    WARM_ENI_TARGET doesn't affect the list of maximum pod per ENI

    If I have 1 c5.xlarge (4 max ENI and 15 max IPs per ENI) and WARM_ENI_TARGET=1, what is the scenario before it complains that there are no more available IPs?

    When there's no more available IP in the subnet because, maybe other instance/node are fully utilizing it (assigned to pod) or reserved it using WARM_ENI_TARGET=1..N or WARM_IP_TARGET=1..N value