XNetworkManagerIPAMPool¶
Experimental
This API is experimental and may change without notice.
An IPAM pool on a network manager, so virtual networks get address space allocated automatically instead of teams picking CIDRs by hand.
API¶
| Group | azure.platform.example.org |
| Kind | XNetworkManagerIPAMPool |
| Plural | xnetworkmanageripampools |
| Scope | Namespaced |
| Versions | v1alpha1 (referenceable) |
| Source | compositions/azure/networkmanager-ipam-pool/xrd.yaml |
Spec¶
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name immutable |
string |
yes | — | Logical name of the IPAM pool. |
networkManagerRef immutable |
object |
yes | — | Reference to the parent Network Manager. |
networkManagerRef.name |
string |
yes | — | Logical name of the XNetworkManager. |
location |
string |
no | swedencentral |
Azure region for the IPAM pool. |
addressPrefixes |
[]string |
yes | — | CIDR blocks for the root IPAM pool. |
tags (nullable) |
map[string]string |
no | null |
Optional tags to apply to the IPAM pool. |
Fields marked immutable are fixed once the resource is created; changing one is rejected by the API server. An immutable object pins the fields nested under it too. To change one, delete the resource and create it again.
Example¶
Allocate a generous prefix here; individual virtual networks draw from it by requesting a number of addresses rather than a CIDR. The Azure resource is named ipam-<spec.name>.
apiVersion: azure.platform.example.org/v1alpha1
kind: XNetworkManagerIPAMPool
metadata:
name: crd-dev
spec:
name: crd-dev
networkManagerRef:
name: crd-dev
addressPrefixes:
- 10.42.0.0/16
Taken from teams/crd-dev/network.yaml,
which is applied to the cluster by Flux, so it cannot drift from a working
manifest.
Status¶
Populated by Crossplane once the underlying Azure resources exist. Every
composite in this repository exposes the provisioned Azure resource ID as
status.id.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id |
string |
no | — | Azure resource ID of the IPAM pool. |
Common problems¶
The pool is created but virtual networks fail to allocate.
Cause. spec.addressPrefixes is too small for the requested numberOfAllocatedIpAddresses across all networks.
Fix. Add another prefix to the pool, or request fewer addresses.
The XR reports that the parent network manager is missing.
Cause. spec.networkManagerRef.name does not match an XNetworkManager in the same namespace.
Fix. Create the network manager first and wait for it to report status.id.