Skip to content

Update cluster-api implementation to use MachineTemplate.status.nodeInfo for inferring architecture information for scale from zero #8347

@aleskandro

Description

@aleskandro

kubernetes-sigs/cluster-api#11962 introduced the nodeInfo field for MachineTemplates. Providers can reconcile this field in the status subresource to inform the autoscaler about the architecture and operating system that the MachineTemplate's nodes will run.

Previously, we have been implementing this behavior in the cluster autoscaler by leveraging the labels capacity annotation and, as a fallback, default values set in environment variables at cluster-autoscaler deployment time.

Now, the cluster autoscaler should compute the future architecture of a node with the following priority order:

  • Labels set in existing nodes for not-autoscale-from-zero cases
  • Labels set in the labels capacity annotation of machine template, machine set, and machine deployment.
  • Values in the status.nodeSystemInfo of MachineTemplates
  • Generic/default labels set in the environment of the cluster autoscaler

Which component are you using?:

Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:

Describe the solution you'd like.:

Describe any alternative solutions you've considered.:

Additional context.:

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions