The module lifecycle stage: Preview
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
ClusterIPAddress
Scope: Cluster
Version: v1alpha1
-
objectspecDesired state of resource.
-
objectspec.networkRef
Required value
Reference network used as the source of IPAM configuration.-
stringspec.networkRef.kind
Required value
Kind of the referenced network.Allowed values:
ClusterNetwork -
stringspec.networkRef.name
Required value
Name of the referenced network.
-
-
objectspec.staticParameters for Static allocation type.
-
stringspec.static.ip
Required value
Requested IPv4 address.Example:
ip: 192.168.1.1
-
-
stringspec.type
Required value
Requested allocation type.
Auto: allocate a free address from the pool.Static: allocate the address specified in.spec.static.ip.
Allowed values:
Static,Auto
-
ClusterIPAddressPool
Scope: Cluster
Version: v1alpha1
-
objectspecDesired state of resource.
-
stringspec.leaseTTLTime to live for orphaned
IPAddressLeaseobjects created for addresses from this pool.Default:
1hExamples:
leaseTTL: 30sleaseTTL: 1mleaseTTL: 24h -
array of objectsspec.pools
Required value
List of pool entries served by this resource.-
stringspec.pools.networkIPv4 network CIDR served by this pool entry.
Example:
network: 192.168.1.0/24 -
array of stringsspec.pools.rangesOptional list of allocatable IP ranges within
network. If omitted, the entirenetworkCIDR is considered allocatable.Example:
ranges: - 192.168.1.50 - 192.168.1.51 - 192.168.1.0/24 - 192.168.1.100-192.168.1.110-
stringspec.pools.ranges.Element of the arrayAllocatable IPv4 range expression ("startIP-endIP", "CIDR", or single IPv4).
Pattern:
^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:-(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|\/(?:3[0-2]|[12]?\d))?$Examples:
"": 192.168.1.50"": 192.168.1.0/24"": 192.168.1.100-192.168.1.110
-
-
array of objectsspec.pools.routesOptional list of static routes associated with addresses allocated from this pool entry.
-
stringspec.pools.routes.destinationDestination network CIDR for the route.
Examples:
destination: 192.168.10.0/24destination: 8.8.8.8/32 -
stringspec.pools.routes.viaNext-hop (gateway) IPv4 address.
Example:
via: 192.168.1.1
-
-
-
ClusterNetwork
Scope: Cluster
Version: v1alpha1
-
objectspecSpecification of the ClusterNetwork resource, defining network parameters.
-
objectspec.ipamIPAM configuration for the network.
-
objectspec.ipam.ipAddressPoolRefReference to the IP address pool used by this network.
-
stringspec.ipam.ipAddressPoolRef.kind
Required value
Kind of the referenced pool.Allowed values:
ClusterIPAddressPool -
stringspec.ipam.ipAddressPoolRef.name
Required value
Name of the referenced pool object.
-
-
-
objectspec.parentNodeNetworkInterfaces
Required value
Selector for choosing NodeNetworkInterfaces representing NICs to which the network is bound.-
objectspec.parentNodeNetworkInterfaces.labelSelector
Required value
Label selector for filtering network interfaces of nodes.-
objectspec.parentNodeNetworkInterfaces.labelSelector.matchLabels
Required value
A set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
stringspec.type
Required value
The type of network. Supported values:
VLAN— a tagged VLAN will be configured on node's corresponding NICs (i.e.eth0.100) to provide connectivity.Access— corresponding NICs on nodes will be used directly to provide connectivity.
Allowed values:
Vlan,VLAN,Access -
objectspec.vlanVLAN parameters for the network. Required for "Vlan" type.
-
integerspec.vlan.id
Required value
VLAN ID. Must be between 1 and 4094.Allowed values:
1 <= X <= 4094
-
-
IPAddress
Scope: Namespaced
Version: v1alpha1
-
objectspecDesired state of resource.
-
objectspec.networkRef
Required value
Reference network used as the source of IPAM configuration.-
stringspec.networkRef.kind
Required value
Kind of the referenced network.Allowed values:
Network,ClusterNetwork -
stringspec.networkRef.name
Required value
Name of the referenced network.
-
-
objectspec.staticParameters for Static allocation type.
-
booleanspec.static.ignoreLeaseTTLOnAllocationIf true, allows allocating the requested static IP when the only conflict is an orphaned
IPAddressLease. -
stringspec.static.ip
Required value
Requested IPv4 address.Example:
ip: 192.168.1.1
-
-
stringspec.type
Required value
Requested allocation type.
Auto: allocate a free address from the pool.Static: allocate the address specified in.spec.static.ip.
Allowed values:
Static,Auto
-
IPAddressLease
Scope: Cluster
Version: v1alpha1
-
objectspecDesired state of resource.
-
stringspec.ipReserved IPv4 address.
Example:
ip: 192.168.1.10 -
objectspec.ipAddressRef
Required value
Reference to the IPAddress or ClusterIPAddress that owns this lease.-
stringspec.ipAddressRef.kind
Required value
Kind of the referenced IP address resource.Allowed values:
IPAddress,ClusterIPAddress -
stringspec.ipAddressRef.name
Required value
Name of the referenced IPAddress or ClusterIPAddress. -
stringspec.ipAddressRef.namespace
Required value
Namespace of the referenced IPAddress.
-
-
objectspec.networkRef
Required value
Reference to the Network or ClusterNetwork associated with this lease.-
stringspec.networkRef.kind
Required value
Kind of the referenced network resource.Allowed values:
Network,ClusterNetwork -
stringspec.networkRef.name
Required value
Name of the referenced network resource. -
stringspec.networkRef.namespace
Required value
Namespace of the referenced Network.
-
-
stringspec.ttlTime-to-live applied after the lease is marked orphaned.
Examples:
ttl: 30sttl: 1h
-
IPAddressPool
Scope: Namespaced
Version: v1alpha1
-
objectspecDesired state of resource.
-
stringspec.leaseTTLTime to live for orphaned
IPAddressLeaseobjects created for addresses from this pool.Default:
1hExamples:
leaseTTL: 30sleaseTTL: 1mleaseTTL: 24h -
array of objectsspec.pools
Required value
List of pool entries served by this resource.-
stringspec.pools.networkIPv4 network CIDR served by this pool entry.
Example:
network: 192.168.1.0/24 -
array of stringsspec.pools.rangesOptional list of allocatable IP ranges within
network. If omitted, the entirenetworkCIDR is considered allocatable.Example:
ranges: - 192.168.1.50 - 192.168.1.51 - 192.168.1.0/24 - 192.168.1.100-192.168.1.110-
stringspec.pools.ranges.Element of the arrayAllocatable IPv4 range expression ("startIP-endIP", "CIDR", or single IPv4).
Pattern:
^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:-(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|\/(?:3[0-2]|[12]?\d))?$Examples:
"": 192.168.1.50"": 192.168.1.0/24"": 192.168.1.100-192.168.1.110
-
-
array of objectsspec.pools.routesOptional list of static routes associated with addresses allocated from this pool entry.
-
stringspec.pools.routes.destinationDestination network CIDR for the route.
Examples:
destination: 192.168.10.0/24destination: 8.8.8.8/32 -
stringspec.pools.routes.viaNext-hop (gateway) IPv4 address.
Example:
via: 192.168.1.1
-
-
-
Network
Scope: Namespaced
Version: v1alpha1
-
objectspecNetwork resource specification that defines the network parameters.
-
objectspec.ipamIPAM configuration for the network.
-
objectspec.ipam.ipAddressPoolRefReference to the IP address pool used by this network.
-
stringspec.ipam.ipAddressPoolRef.kind
Required value
Kind of the referenced pool.Allowed values:
IPAddressPool -
stringspec.ipam.ipAddressPoolRef.name
Required value
Name of the referenced pool object.
-
-
-
stringspec.networkClass
Required value
The network class to be used for this network.Minimal length:
1Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ -
stringspec.type
Required value
The type of network.Default:
VLANAllowed values:
VLAN -
objectspec.vlanVLAN-specific parameters for the network.
-
integerspec.vlan.idVLAN ID from the available pool defined in corresponding NetworkClass.
Allowed values:
1 <= X <= 4094
-
-
NetworkClass
Scope: Cluster
Version: v1alpha1
-
objectspec
-
objectspec.vlan
Required value
Specific options for VLAN-based networks.-
array of stringsspec.vlan.idPool
Required value
The array of allowed VLAN ID ranges.-
stringspec.vlan.idPool.Element of the array
Pattern:
^\d+(-\d+)?$
-
-
objectspec.vlan.parentNodeNetworkInterfaces
Required value
Selector for choosing NodeNetworkInterfaces representing NICs to which the network is bound.-
objectspec.vlan.parentNodeNetworkInterfaces.labelSelector
Required value
Label selector for filtering NodeNetworkInterface resources.-
objectspec.vlan.parentNodeNetworkInterfaces.labelSelector.matchLabelsA set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
-
NodeNetworkInterface
Scope: Cluster
Version: v1alpha1
-
objectspec
-
objectspec.bondThe bond interface parameters.
-
stringspec.bond.bondName
Required value
The bond interface name. -
array of objectsspec.bond.memberNetworkInterfaces
Required value
The list of label selectors to match interfaces to bond.-
objectspec.bond.memberNetworkInterfaces.labelSelectorLabel selector for defining interfaces on top of which the bond interface will be created.
-
objectspec.bond.memberNetworkInterfaces.labelSelector.matchLabels
Required value
A set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
-
objectspec.bridgeThe bridge interface parameters.
-
stringspec.bridge.bridgeName
Required value
The bridge interface name. -
array of objectsspec.bridge.memberNetworkInterfaces
Required value
The list of label selectors to match interfaces to bridge.-
objectspec.bridge.memberNetworkInterfaces.labelSelectorLabel selector for identifying interfaces that are part of the bridge.
-
objectspec.bridge.memberNetworkInterfaces.labelSelector.matchLabels
Required value
A set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
-
stringspec.heritageDeprecatedThe way the node network interface was created. Service option for controllers.
Allowed values:
SDNDiscovered,NetworkController,Manual -
objectspec.nicParameters applicable to physical interfaces when spec.type is NIC.
-
stringspec.nic.bindingModeDesired binding mode for the NIC.
Allowed values:
NetDev,VFIO-PCI,DPDK -
objectspec.nic.pfPF-specific settings for the NIC.
-
objectspec.nic.pf.sriovSR-IOV configuration for the physical function.
-
booleanspec.nic.pf.sriov.enabledEnables SR-IOV on the physical function.
Default:
false -
integerspec.nic.pf.sriov.numVFs
Required value
The number of Virtual Functions to expose when SR-IOV is enabled.Allowed values:
1 <= X
-
-
-
stringspec.nic.pfNodeNetworkInterfaceNameThe name of the NodeNetworkInterface for the parent PF.
-
objectspec.nic.vfVirtual Function specific configuration.
-
stringspec.nic.vf.linkState
Sets the link state for the VF.
- Auto: The link state is determined by the PF's link state.
- Enable: The link is always up.
- Disable: The link is always down.
Allowed values:
Auto,Enable,Disable -
stringspec.nic.vf.macMAC address assigned to the VF.
Pattern:
^([0-9a-f]{2}:){5}[0-9a-f]{2}$ -
integerspec.nic.vf.mtuMTU configured on the VF.
Allowed values:
68 <= X <= 9978 -
booleanspec.nic.vf.queryRSSEnables or disables querying RSS configuration for the VF.
-
booleanspec.nic.vf.spoofCheckEnables or disables MAC address spoofing check for the VF.
-
booleanspec.nic.vf.trustEnables or disables trust mode for the VF.
-
integerspec.nic.vf.vlanVLAN tag assigned to the VF.
Allowed values:
0 <= X <= 4094
-
-
-
stringspec.nodeName
Required value
The name of the Node the interface belongs to. -
stringspec.type
Required value
The type of the interface. Options:
- NIC — the physical interface.
- VLAN — a VLAN configured on some other interface.
- Bond — an aggregated interface.
- Bridge — a bridge interface.
Allowed values:
NIC,VLAN,Bond,Bridge -
objectspec.vlanThe vlan interface parameters.
-
integerspec.vlan.id
Required value
The VLAN ID. -
objectspec.vlan.parentNetworkInterface
Required value
The selector to match the parent interface.-
objectspec.vlan.parentNetworkInterface.labelSelector
Required value
Label selector for determining the parent resource NodeNetworkInterface, on top of which the VLAN interface is enabled.-
objectspec.vlan.parentNetworkInterface.labelSelector.matchLabels
Required value
A set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
-
UnderlayNetwork
Scope: Cluster
Version: v1alpha1
-
objectspec
-
booleanspec.autoBondingEnable automatic grouping of interfaces when multiple PFs on a single node match the selector. Immutable. In
Sharedmode: When enabled, the controller groups one VF from each matched PF into a single DRA device. Each such device contains multiple VFs (one per matched PF) that are exposed to the pod as separate network interfaces. The number of grouped devices equals the smallest VF count among all matched PFs. If grouping cannot be assembled (e.g., some PF has no VFs), a warning is logged and device publication is skipped until grouping becomes possible. When disabled, each VF is published as a separate DRA device. InDedicatedmode: When enabled, all matched PFs on a node are grouped into a single DRA device, exposing all PFs to the pod as separate interfaces. When disabled, each PF is published as a separate DRA device. Note: This does not create kernel-level bonding interfaces inside the pod. The interfaces are simply passed through as individual interfaces, allowing applications (e.g., DPDK) to handle bonding/aggregation at the application level.Default:
true -
array of objectsspec.memberNodeNetworkInterfaces
Required value
Label selectors for NodeNetworkInterface resources representing NIC's Physical Functions (PF) that will be used for device allocation. Only PF interfaces (not VF) should be selected. The controller will automatically configure and use VFs when operating in Shared mode.-
objectspec.memberNodeNetworkInterfaces.labelSelectorLabel selector for defining interfaces on which virtual and physical SR IOV functions will be configured.
-
objectspec.memberNodeNetworkInterfaces.labelSelector.matchLabels
Required value
A set of labels that must match the labels of NodeNetworkInterface resources.
-
-
-
stringspec.modeDevice allocation mode that determines how physical interfaces are exposed to pods.
Shared(default): Creates Virtual Functions (VF) from selected Physical Functions (PF) using SR-IOV, allowing multiple pods to share the same hardware. Each pod receives one or more VFs. When autoBonding is enabled, one VF from each matched PF is grouped into a single DRA device, exposing multiple interfaces to the pod (one per PF).Dedicated: Exposes each matching PF as an exclusive device without SR-IOV. When autoBonding is enabled, all matched PFs on a node are grouped into a single DRA device, exposing all PFs to the pod as separate interfaces. When autoBonding is disabled, each PF is published as a separate DRA device. Suitable for workloads requiring maximum performance or when SR-IOV is not available.Default:
SharedAllowed values:
Dedicated,Shared -
objectConfiguration parameters for Shared mode. Required when mode is set to "Shared". In Shared mode, SR-IOV is used to create Virtual Functions from Physical Functions, enabling multiple pods to share the same network hardware.
-
objectSR-IOV configuration for creating Virtual Functions from selected Physical Functions. When enabled, the controller configures SR-IOV on matching PF interfaces and creates the specified number of VFs per PF. These VFs are then published as DRA devices that can be allocated to pods.
-
boolean
Required value
Enable SR-IOV on selected Physical Functions. When true, VFs will be created according to numVFs setting. -
integerNumber of Virtual Functions to create per Physical Function. Must be greater than 0 when enabled is true. The actual number of VFs created may be limited by the hardware's maximum supported VF count.
Allowed values:
0 <= X
-
-
-