Skip to content

Add support for Windows nodes to Autopilot #7707

Description

@twz123

Is your feature request related to a problem? Please describe.

Autopilot is currently entirely Linux-only. This means automated k0s updates via Plans are unavailable for Windows workers.

Describe the solution you would like

Windows workers can be managed via Autopilot, just as Linux nodes can.

Describe alternatives you've considered

¯\_(ツ)_/¯

Additional context

Need to figure out how to deal with two important differences:

  1. How to replace a currently running executable? Windows won't allow changing the paths to files to which open file handles exist. That's a similar issue we have when upgrading containerd on Windows. So maybe we can come up with a procedure how to do this for containerd, which we can then reuse for Autopilot.
  2. Restarting might be different. The supervisor already has some means of sending graceful termination signals to executables. Maybe we can reuse that? The Service Control Manager should restart k0s just as Linux init systems do. Another approach would be to assume that k0s is already running as a service and interact directly with the Service Control Manager. This assumption wouldn't be too far-fetched, since k0s needs to run as a local service anyway due to containerd needing special privileges to manage containers unless admins try hard to get the necessary permissions without using the Service Control Manager, but that would be tricky.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions