-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Kubeadm feature flags should be mutable #10050
Comments
Sounds good to me.
If we change the webhook to make the field mutable, what is then the current rollout behavior without further changes? |
cc @fabriziopandini maybe you have some thoughts on this 🙂 |
I don't know if a rollout will be triggered by the change. I'll check the code and maybe also test it with our fork. |
@sbueringer so I just tested the mutation of the kubeadm feature gates by deleting the validation webhook Example Patch does not work
Remove the validation webhook
Patch the KCP
And to verify that the feature gate is working:
|
Sounds good. If not strictly required, I would like to avoid having handling for specific kubeadm feature gates in CAPI (eventually the feature gate will go away anyway) |
trying to understand what are the implications. does this mean that the KCP controller will persist an FG in kube-system/kubeadm-config.ClusterConfiguration ? |
Hm not sure. The proposed change here is mostly about changing the webhook. Not sure what the implications are regarding the ConfigMap |
kube-system/kubeadm-config.ClusterConfiguration is a versioned API. thus when converting to internal type a validation will trigger: i don't recall instances where in kubeadm we manually removed a FG from the ClusterConfiguration CM, during upgrade. in CAPI, on |
/triage approved +1 for the change We already have several examples of this in https://github.com/fabriziopandini/cluster-api/blob/67c222eaaddbee7c48f5514d9f1d86c3c086069d/controlplane/kubeadm/internal/controllers/upgrade.go#L57-L123 (as well as the framework for managing kubeadm config versions) |
@fabriziopandini: The label(s) In response to this:
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/test-infra repository. |
/triage accepted |
/assign |
What would you like to be added (User Story)?
As an operator I would like to be able to adjust
kubeadm
feature gates on existingKubeadmControlPlanes
.Detailed Description
Currently we want to enable the Kubeadm v1.27 feature gate
EtcdLearnerMode
. As we update our existingKCPs
we also want to add this new feature flag.Unfortunately, the KCP webhooks denies the mutation of
kcp.Spec.KubeadmConfigSpec.ClusterConfiguration.FeatureGates
.Anything else you would like to add?
In PR #9871 we already allowed several parameters, but the feature gates are still immutable.
IMO it's totally fair to allow it. Also it is not necessary to rollout the KCP immediately after the change.
If a rollout is needed we can trigger it manually.
Label(s) to be applied
/kind feature
One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.
Tobias Giese tobias.giese@mercedes-benz.com, Mercedes-Benz Tech Innovation GmbH, legal info/Impressum
The text was updated successfully, but these errors were encountered: