Expand IP addresses capacity in an existing cluster¶
If the subnet capacity on your existing cluster is not enough to add new
machines, use the l2TemplateSelector feature to expand the IP addresses
capacity:
Create new Subnet object(s) to define additional address ranges for new
machines.
Set up routing between the existing and new subnets.
Create new L2 template(s) with the new subnet(s) being used in l3Layout.
Set up l2TemplateSelector in the Machine objects for new machines.
To expand IP addresses capacity for an existing cluster:
Verify the capacity of the subnet(s) currently associated with
the L2 template(s) used for cluster deployment:
If labelSelector is not used for the given subnet, use the
namespace value of the L2 template and the subnetName value
from the l3Layout section:
kubectlgetsubnet-n<namespace><subnetName>
If labelSelector is used for the given subnet, use the namespace
value of the L2 template and comma-separated key-value pairs from the
labelSelector section for the given subnet in the l3Layout
section:
The kaas.mirantis.com/region label is removed from all
Container Cloud objects in 2.26.0 (Cluster releases 17.1.0 and 16.1.0).
Therefore, do not add the label starting these releases. On existing
clusters updated to these releases, or if manually added, this label will
be ignored by Container Cloud.
Create new objects:
Subnet with the user-defined/purpose:lcm-additional label.
L2Template with the alternative-template:“1” label.
The L2 template should reference the new Subnet object using the
user-defined/purpose:lcm-additional label in the labelSelector
field.
Note
The label name user-defined/purpose is used for illustration
purposes. Use any custom label name that differs from system names.
Use of a unique prefix such as user-defined/ is recommended.
In the snippet above, replace the following parameters:
<pool_start_ip> - first IP address in the required range
<pool_end_ip> - last IP address in the range
Add the extension IP address pool name to the L2Advertisements
definition. You can add it to the same L2 advertisement as the
default IP address pool, or create a new L2 advertisement
if required.
You can create one or several Subnet objects to extend the MetalLB
address pool with additional ranges. When the MetalLB traffic is routed
through the default gateway, you can add the MetalLB address ranges that
belong to different CIDR subnet addresses.