10 Metal3 #
Metal3 is a CNCF project which provides bare-metal infrastructure management capabilities for Kubernetes.
Metal3 provides Kubernetes-native resources to manage the lifecycle of bare-metal servers which support management via out-of-band protocols such as Redfish.
It also has mature support for Cluster API (CAPI). This enables management of hardware resources across multiple infrastructure providers via broadly adopted vendor-neutral APIs. Cluster API uses Metal3 as an infrastructure backend for Machine objects.
10.1 How does SUSE Edge use Metal3? #
SUSE Edge uses Metal3 to manage the lifecycle of physical hardware, such as
servers. The hardware needs to support an out-of-band management protocol that
is supported by Metal3 (e.g. Redfish). When a SUSE Edge management cluster
provisions or deprovisions downstream clusters, Metal3 will interact with a
server’s BMC via Redfish. The following actions are typically part of this
interaction:
Mount and umount Virtual Media.
Power on, power off, and reset servers.
This approach is useful for scenarios where the target hardware supports out-of-band management, and a fully automated infrastructure management flow is desired.
Metal3 and CAPI provide declarative APIs that enable inventory and state management of bare-metal servers, including automated inspection, cleaning, and provisioning/deprovisioning.
10.2 Known issues #
The upstream IP Address Management controller is currently not supported, because it is not yet compatible with our choice of network configuration tooling. However the
ipam-controller-managerpod hosted on themetal3-ipam-systemnamespace is needed as CAPM3 requires theipamCRDs to exist.Relatedly, the IPAM resources and Metal3DataTemplate networkData fields are not supported.
Only deployment via redfish-virtualmedia is currently supported.