omni
omni copied to clipboard
machine pool controller for automatic provisioning
The controller should take MachineClassStatus
and AutoscalingGroup
as the inputs.
MachineClassStatus
will provide machine pressure information, AutoscalingGroup
will keep the configuration of the scaling: the number of machines to keep running unallocated, the timeout for the unused machine request removal and the configuration for the machine requests.
It should also take MachineStatusLabels
resource as the input to keep track of which machine requests are in use and which are not.
The output of this controller will be a MachinePool
resource.
MachineStatus
resources added by the cloud provider should be labeled with the MachinePool
label. Then the machine class should select the machines which are labeled with this machine pool label.