Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support InPlace upgrade for worker machines #792

Open
eromanova opened this issue Oct 23, 2024 · 5 comments
Open

Support InPlace upgrade for worker machines #792

eromanova opened this issue Oct 23, 2024 · 5 comments
Labels
cluster-api Something that relates to k0smotron acting as Cluster API provider enhancement New feature or request keep Exempts issues and pull requests from stale workflow

Comments

@eromanova
Copy link

eromanova commented Oct 23, 2024

Currently, according to k0smotron docs, the InPlace upgrade (using autopilot) is supported for control plane machines only: https://docs.k0smotron.io/stable/update/update-capi-cluster/. It'll be good to support the same approach for worker machines as well if possible.

Copy link

The issue is marked as stale since no activity has been recorded in 30 days

@github-actions github-actions bot added the Stale label Jan 29, 2025
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 6, 2025
@apedriza apedriza reopened this Feb 7, 2025
@apedriza apedriza added keep Exempts issues and pull requests from stale workflow and removed Stale labels Feb 7, 2025
@DinaBelova
Copy link

Dear k0smotron team, can you please share the plan on getting this fixed? This issue was opened some time ago and in general it's important for the k0rdent project experience. (cc @mestadler @p5ntangle fyi folks)

@jnummelin jnummelin added enhancement New feature or request cluster-api Something that relates to k0smotron acting as Cluster API provider labels Feb 12, 2025
@jnummelin
Copy link
Member

can you please share the plan on getting this fixed?

First of all, fix is the wrong word as this is a new feature, not a bug.

I'm not entirely sure if k0smotron can even "fix" this. The worker MachineDeployment object is fully controlled by CAPI core controllers and thus very hard to hook into via k0smotron.

From CAPI/k0rdent point of view, how would you want this to work? I.e. what are the expected steps to trigger worker InPlace update?

@eromanova
Copy link
Author

From CAPI/k0rdent point of view, how would you want this to work?

From the k0rdent perspective, it would be great to have the same approach we currently use for the InPlace upgrade of ControlPlanes. The upgrade strategy (InPlace or Replace) could be configured within one of k0smotron’s public API objects, such as K0sWorkerConfigTemplate.

With the InPlace upgrade strategy, the node would not be recreated and all updated k0s settings (ex. k0s version) would be applied to the existing node.

I understand that implementing this in k0smotron may be difficult or even impossible, but I wanted to bring it up for discussion (just in case).

@jnummelin
Copy link
Member

The main challenge is that K0sWorkerConfigTemplate , as all other CAPI XYZTemplate types, are not something that are really reconciled by any controller. They are merely "placeholders" when the actual types are created.

We can keep this still around if we come up with any idea how this could be done, but currently it seems pretty impossible to implement.

I wanted to bring it up for discussion (just in case)
Always good to have discussions around these kinda ideas. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cluster-api Something that relates to k0smotron acting as Cluster API provider enhancement New feature or request keep Exempts issues and pull requests from stale workflow
Projects
None yet
Development

No branches or pull requests

4 participants