-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
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.