CKA Course: IP Address management in Weave

In the Chaper its mentioned that weaveworks assigns subnet to each node’s kubelet process from range 10.32.0.0/12, where peers decide to split this equally.
But I wanted to understand, in case of an auto-scaling cluster, how is this handled?

Considering a scenario, initially cluster had 3 worker nodes, thus the 10.32.0.0/12 was equally divided into 3 splits and each node used 1 split. But incase of a scaling event, cluster now has 5 nodes. How weaveworks (or any other CNI plugin) handles this and assigns subnet for the 2 new nodes?

This doc will be useful:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/network/networking.md

This is helpful, but what I am looking for is, how Weave (or other CNI Plugins) manages IP Subnets for each node in a scaling environment. How IP subnet ranges are updated for new node addition or node deletion.

@Ayman could you please share some information on this?

Hello avikaggarwal1993,

nodes don’t share the IP range equally. each pod is get assigned a network from this range and when the network is getting finished it uses another network from the range.
example:
a cluster with 3 nodes with a range of 10.244.0.0/16
node1: takes the network 10.244.1.0 and assigns all pods with these tips like (10.244.1.1, 10.244.1.2), etc.
node2: takes IP range 10.244.2.0
node3: 10.244.3.0
if the network 10.244.1.0 is finished node1 takes another range to use like 10.244.4.0.
in the case of autoscaling, the new node will get a network range to work with like 10.244.5.0 and so on.