MachinePool¶
A MachinePool
is a resource in Ironcore
that represents a pool of compute resources managed collectively. It defines the infrastructure's compute configuration used to provision and manage Machines
, ensuring resource availability and compatibility with associated MachineClasses
. (Note
: One machinepoollet
is responsible for one MachinePool
)
Example MachinePool Resource¶
An example of how to define a MachinePool resource:
apiVersion: compute.ironcore.dev/v1alpha1
kind: MachinePool
metadata:
name: machinepool-sample
labels:
ironcore.dev/az: az1
spec:
providerID: ironcore://shared
Key Fields:
ProviderID
(string
): TheproviderId
helps the controller identify and communicate with the correct compute system within the specific backend compute provider. For exampleironcore://shared
Reconciliation Process¶
- Machine Type Discovery: It constantly checks what kinds of
MachineClasses
are available in theIroncore
Infrastructure - Compatibility Check: Evaluating whether the
MachinePool
can manage available machine classes based on its capabilities. - Status Update: Updating the MachinePool's status to indicate the supported
MachineClasses
with available capacity and allocatable. - Event Handling: Watches for changes in MachineClass resources and ensures the associated MachinePool is reconciled when relevant changes occur.