Skip to content

Update labels & annotations of machines without recreation #1969

@adberger

Description

@adberger

Hi there

AFAIK Machines are considered immutable.
So whenever a spec in the MachineDeployment changes, a new MachineSet gets created which creates new Machines and therefore new Kubernetes Nodes.

What are your opinions on excluding Node Labels & Annotations?
So whenever these change in the MachineDeployment spec, the machine-controller updates those on the existing Kubernetes Nodes instead of recreating the Machines via MachineSet.

In our environment, especially Node Labels can change quite frequently.
We have multiple Nodepools per Cluster and use nodeSelectors and/or nodeAffinity to decide where Pods will be scheduled.

Also I would argue, that Labels & Annotations of the Kubernetes Node are metadata (as the parent key implies) and are not directly part of a Machine like CPU, RAM, SSH Keys etc.

What are your thoughts?
Would you be open to implement this or accept a contribution?
Could also be made, opt-in..

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/designCategorizes issue or PR as related to design.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions