Skip to content

[Feature] Support multiple machine types for a single worker pool #801

@unmarshall

Description

@unmarshall

How to categorize this issue?

/area control-plane
/area usability
/kind enhancement
/priority 3

What would you like to be added:
It is only possible today to define a single machine type per worker pool. This is then translated to one or more MachineDeployment (one per zone per worker pool) where each MachineDeployment inherits the same machine type. If the consumer wishes to have a choice of a fallback machine type then it needs to create another worker pool with a different machine type and in addition can optionally also define a priority-expander to set priorities for machine types. This presents some challenges today:

  1. Creation of additional worker pools just to define fallback VMs is wasteful w.r.t capacity planning - [impacts gardener]. It was also pointed out that this is not very convenient for the consumers.
  2. @dguendisch mentioned that consumers get the regular expressions wrong in the priority expander leading to un-expected decisions made by autoscaler (as per the customer). - [impacts the customer]. -> we can allow customers to only provide regular expressions through shoot YAML, and not create cluster-autoscaler-priority-expander configmap
  3. There is an open issue which causes large backoffs by the cluster autoscaler also in the event that a specific machine quota has exhausted. We have identified a fix and will be working on it with priority.

There is a new ask to allow the consumer to specify multiple machine types per worker pool (ordered based on priority) and let MCM handle the responsibility of ensuring that the fallback machine type (in the ordered list) is selected if none of the machine types above it are available.

Why is this needed:
Improves the usability from consumers perspective.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/control-planeControl plane relatedarea/usabilityUsability relatedkind/enhancementEnhancement, improvement, extensionlifecycle/rottenNobody worked on this for 12 months (final aging stage)priority/3Priority (lower number equals higher priority)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions