
This repository contains a controller to manage static IP address allocations
in Cluster API Provider Metal3.
For more information about this controller and related repositories, see
metal3.io.
Compatibility with Cluster API
| IPAM version |
CAPM3 version |
Cluster API version |
IPAM Release |
| v1alpha1 (v1.1.X) |
v1beta1 (v1.1.X) |
v1beta1 (v1.1.X) |
v1.1.X |
| v1alpha1 (v1.2.X) |
v1beta1 (v1.2.X) |
v1beta1 (v1.2.X) |
v1.2.X |
| v1alpha1 (v1.3.X) |
v1beta1 (v1.3.X) |
v1beta1 (v1.3.X) |
v1.3.X |
| v1alpha1 (v1.4.X) |
v1beta1 (v1.4.X) |
v1beta1 (v1.4.X) |
v1.4.X |
| v1alpha1 (v1.5.X) |
v1beta1 (v1.5.X) |
v1beta1 (v1.5.X) |
v1.5.X |
| v1alpha1 (v1.6.X) |
v1beta1 (v1.6.X) |
v1beta1 (v1.6.X) |
v1.6.X |
| v1alpha1 (v1.7.X) |
v1beta1 (v1.7.X) |
v1beta1 (v1.7.X) |
v1.7.X |
| v1alpha1 (v1.8.X) |
v1beta1 (v1.8.X) |
v1beta1 (v1.8.X) |
v1.8.X |
| v1alpha1 (v1.9.X) |
v1beta1 (v1.9.X) |
v1beta1 (v1.9.X) |
v1.9.X |
| v1alpha1 (v1.10.X) |
v1beta1 (v1.10.X) |
v1beta1 (v1.10.X) |
v1.10.X |
| v1alpha1 (v1.11.X) |
v1beta1 (v1.11.X) |
v1beta1 (v1.11.X) |
v1.11.X |
| v1alpha1 (v1.12.X) |
v1beta1 (v1.12.X) |
v1beta2 (v1.12.X) |
v1.12.X |
Development Environment
See metal3-dev-env for an
end-to-end development and test environment for
cluster-api-provider-metal3
and baremetal-operator.
API
See the API Documentation for details about the objects used with
this controller. You can also see the cluster deployment
workflow for the outline of the
deployment process.
Deployment and examples
Deploy IPAM
Deploys IPAM CRDs and deploys IPAM controllers
make deploy
Run locally
Runs IPAM controller locally
kubectl scale -n metal3-ipam-system \
deployment.v1.apps/metal3-ipam-controller-manager --replicas 0
make run
Deploy an example pool
make deploy-examples
Delete the example pool
make delete-examples
Note
There is a known limitation when kubectl apply and kubectl delete for an
IPClaim are executed in rapid succession (within the same second). In such
cases, the IPClaim may be deleted, but the associated IPAddress might not
be removed as expected, potentially leading to resource inconsistencies. This
is not a common or typical use case. In normal scenarios, the operations work
as expected. Since this issue occurs only under rare timing conditions, it has
been classified as a low-priority item. We plan to address it in a future and
it is currently documented as a known limitation.