Service labels and their life cycle¶
Any Subnet
object may contain ipam/SVC-<serviceName>
labels.
All IP addresses allocated from the Subnet
object that has service labels
defined inherit those labels.
When a particular IpamHost
uses IP addresses allocated from such labeled
Subnet
objects, the ServiceMap
field in IpamHost.Status
contains information about which IPs and interfaces correspond to which service
labels (that have been set in the Subnet
objects). Using ServiceMap
,
you can understand what IPs and interfaces of a particular host are used
for network traffic of a given service.
Container Cloud uses the following service labels that allow using of the specific subnets for particular Container Cloud services:
ipam/SVC-k8s-lcm
ipam/SVC-ceph-cluster
ipam/SVC-ceph-public
ipam/SVC-dhcp-range
ipam/SVC-MetalLB
Unsupported since 24.3ipam/SVC-LBhost
Caution
The use of the ipam/SVC-k8s-lcm
label is mandatory for every
cluster.
Important
A label value is not mandatory and can be empty but it must
match the value in the related L2Template
object, in which the
corresponding subnet is used. Otherwise, network configuration for related
hosts will not be rendered due to not found subnets.
You can also add custom service labels to the Subnet
objects the same way
you add Container Cloud service labels. The mapping of IPs and interfaces to
the defined services is displayed in IpamHost.Status.ServiceMap
.
You can assign multiple service labels to one network. You can also assign the
ceph-*
and dhcp-range
services to multiple networks. In the latter
case, the system sorts the IP addresses in the ascending order:
serviceMap:
ipam/SVC-ceph-cluster:
- ifName: ceph-br2
ipAddress: 10.0.10.11
- ifName: ceph-br1
ipAddress: 10.0.12.22
ipam/SVC-ceph-public:
- ifName: ceph-public
ipAddress: 10.1.1.15
ipam/SVC-k8s-lcm:
- ifName: k8s-lcm
ipAddress: 10.0.1.52
You can add service labels during creation of subnets as described in Create subnets.