-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Feature: Adds reconfigure control plane #11871
base: master
Are you sure you want to change the base?
Feature: Adds reconfigure control plane #11871
Conversation
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Hector295 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Welcome @Hector295! |
Hi @Hector295. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Hum, could you explain the difference with I'm not completely closed to the idea, but IMO this would be best implemented with limit and tags / a more intelligent playbook (== we probably restart some things a bit eagerly). |
Hi @VannTen , thank you for your comment and for taking the time to review this PR. The command you mentioned ( What I’ve implemented follows the official Kubernetes documentation, which outlines the correct process to ensure changes are properly reflected in the cluster. Regarding your suggestion about Additionally, I tested this implementation by changing the value of
It’s also worth noting that the behavior of using the |
/ok-to-test |
@Hector295: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Is that recent ? Because it absolutely should reconfigure the control-plane, and it does on older releases (like, I did this yesterday on 1.25 to add OIDC parameters.
I agree that tags are not strictly necessary. I was working from the assumption that you meant to minimize cluster disruption by only changing the configuration, but if upgrade-cluster is no longer updating configuration, I see where you're coming from.
I was distantly aware of this issue, but I haven't had the time to focus on this yet. I don't think a new playbook is the answer though, for several reasons:
Is there a specific reason upgrade-cluster.yml can't be fixed instead ? |
@VannTen the behavior you mentioned in 1.25 worked, but it was not the correct approach according to kubeadm's design. The upgrade-cluster functionality was being used to reconfigure the control plane, even though its actual purpose is to manage cluster version upgrades. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR introduces tasks and configurations that allow for the reconfiguration of the control plane (kube-apiserver, controller-manager, and scheduler) in Kubespray without requiring a full cluster reprovision.
Additionally, a new playbook,
reconfigure-control-plane.yml
, has been added. To reconfigure an existing cluster without performing an upgrade, run:ansible-playbook -i <INVENTORY> reconfigure-control-plane.yml --skip-tags upgrade
Which issue(s) this PR fixes:
Fixes #11552
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Feature: Adds new tasks, templates, and a playbook (
reconfigure-control-plane.yml
) for control plane reconfiguration in Kubespray, allowing incremental updates without requiring a full cluster reprovision.