Caution
This feature is available starting from the Container Cloud release 2.2.0.
Before creating an L2 template, ensure that you have the required subnets
that can be used in the L2 template to allocate IP addresses for the
managed cluster nodes. You can also create multiple subnets using
the SubnetPool
object to separate different types of network traffic.
SubnetPool
allows for automatic creation of Subnet
objects
that will consume blocks from the parent SubnetPool
CIDR IP address
range. The SubnetPool
blockSize
setting defines the IP address
block size to allocate to each child Subnet
. SubnetPool
has a global
scope, so any SubnetPool
can be used to create the Subnet
objects
for any namespace and for any cluster.
To automate multiple subnet creation using SubnetPool:
Log in to a local machine where your management cluster kubeconfig
is located and where kubectl
is installed.
Note
The management cluster kubeconfig
is created
during the last stage of the management cluster bootstrap.
Create the subnetpool.yaml
file with a number of subnet pools:
Note
You can define either or both subnets and subnet pools, depending on the use case. A single L2 template can use either or both subnets and subnet pools.
kubectl --kubeconfig <pathToManagementClusterKubeconfig> apply -f <SubnetFileName.yaml>
Note
In the command above and in the steps below, substitute the parameters enclosed in angle brackets with the corresponding values.
Example of a subnetpool.yaml
file:
apiVersion: ipam.mirantis.com/v1alpha1
kind: SubnetPool
metadata:
name: kaas-mgmt
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
kaas.mirantis.com/region: region-one
spec:
cidr: 10.10.0.0/16
blockSize: /25
nameservers:
- 172.18.176.6
gatewayPolicy: first
For the specification fields description of the SubnetPool
object,
see SubnetPool spec.
Verify that the subnet pool is successfully created:
kubectl get subnetpool kaas-mgmt -oyaml
In the system output, verify the status
fields of the
subnetpool.yaml
file. For the status fields description of the
SunbetPool
object, see SubnetPool status.
Proceed to creating an L2 template for one or multiple managed clusters
as described in Create L2 templates. In this procedure, select
the exemplary L2 template for multiple subnets that contains the
l3Layout
section.
Caution
Using the l3Layout
section, define all subnets of a cluster.
Otherwise, do not use the l3Layout
section.
Defining only part of subnets is not allowed.