You can either use clusterctl (recommended) to install Metal³ infrastructure provider or kustomize for manual installation. Both methods install provider CRDs, its controllers and Ip-address-manager. Please keep in mind that Baremetal Operator and Ironic are decoupled from CAPM3 and will not be installed when the provider is initialized. As such, you need to install them yourself.
clusterctl, refer to Cluster API book for installation instructions.
kustomize, refer to official instructions here.
Install Ironic, refer to this page.
Install Baremetal Operator, refer to this page.
Install Cluster API core compoenents i.e., core, bootstrap and control-plane providers. This will also install cert-manager, if it is not already installed.
clusterctl init --core cluster-api:v1.1.4 --bootstrap kubeadm:v1.1.4 \ --control-plane kubeadm:v1.1.4 -v5
This method is recommended. You can specify the CAPM3 version you want to install by appending a version tag, e.g.
:v1.1.2. If the version is not specified, the latest version available will be installed.
clusterctl init --infrastructure metal3:v1.1.2
To install specific version, edit the controller-manager image version in
apiVersion: apps/v1 kind: Deployment metadata: name: controller-manager namespace: system spec: template: spec: containers: # Change the value of image/tag to your desired image URL or version tag - image: quay.io/metal3-io/cluster-api-provider-metal3:v1.1.2 name: manager
Apply the manifests
cd cluster-api-provider-metal3 kustomize build config/default | kubectl apply -f -