Skip to content

Dissociating Machines from Kubernetes #721

@maisem

Description

@maisem

Today, when we talk about machines we implicitly mean that they represent Kubernetes Nodes. As such we have fields in the MachineSpec like the MachineVersionInfo.

I don't think this is the right abstraction i.e. there is no reason for a Machine to equate to a Kubernetes Node. Dissociating this would make the Machines API standalone and more robust especially in light of #490.

The dissociation will also help in the independent adoption of Machines API as it can then be used for managing non-containerized workloads (e.g. legacy applications).

One way of doing this would be to add a reference to the cloud-init script in the MachineSpec. We introduce a new type called KubernetesMachine which would contain the equivalent of MachineVersionInfo and would internally create the MachineDeplyoment resource with the corresponding cloud-init scripts for the desired Kubernetes version.

cc @roberthbailey @dlipovetsky @justinsb

Metadata

Metadata

Assignees

Labels

lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions