-
Notifications
You must be signed in to change notification settings - Fork 1
Update proposal based on feedback #5
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
Update proposal based on feedback #5
Conversation
- Allow users to update Kubernetes clusters using pluggable External Update Extension. | ||
- Maintain a coherent user experience for both rolling and in-place updates. | ||
- Support External Update Extensions for both Control Plane (KCP or others) and MachineDeployment controlled machines. | ||
- Allow in-place updates for single-node clusters without the requirement to reprovision hosts. | ||
|
||
### Non-Goals/Future work | ||
|
||
- To provide rollbacks in case of an in-place update failure. Failed updates need to be fixed manually by the user on the machine or by replacing the machine. | ||
- Introduce any changes to KCP (or any other control plane provider), MachineDeployment, MachineSet, Machine APIs. | ||
- Ammend the desired state to something that the registered updaters can cover or register additional updaters capable of handling the desired changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a comment about this sentence being hard to understand, maybe we can remove it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved it to Non-Goals/Future work
section as per suggestion. As per Danil's comment below, I'll indicate this is indeed a future goal. Let me know if you still think we should remove this though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of nits, otherwise LGTM.
|
||
Once all of the updaters are complete, the Machine controller will mark machine as done. If the update fails, this will be reflected in the Machine status. | ||
|
||
From this point on, the `KCP` or `MachineDeployment` controller will take over and set the `UpToDate` condition to `True`. | ||
|
||
Note: We might revisit which controller should set `UpToDate` during implementation, because we have to make sure there are no race conditions that can lead to reconcile failures, but apart from the ownership of this operation, the workflows described in this doc should not be impacted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏻
What this PR does / why we need it:
This PR updates the in-places updates proposal to include most (if not all) of the changes proposed against kubernetes-sigs#11029 as of now.