-
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
Allow KCP users to change node registration options #3323
Comments
/milestone v0.3.x |
I'm wondering if it would make sense to keep My reasoning for suggesting this is that The only time changes to |
@detiber I was thinking something on the same line, but I thing that the current logic that detects rollouts compares the machineConfiguration with KCP.InitConfiguration or KCP.JoinConfiguration depending on the fact that the machine is the initial control plane or a joining control plane. |
@fabriziopandini good point, we may need to special case the handling of It does make me wonder for v1alpha4+ if it would make sense to break |
Also see #2083 |
@detiber Right. Like I said, it's not as important, since it'll largely be ignored past the initial node coming up. The reason for suggesting that the init config also become mutable is purely from the perspective of our controllers. When we generate configuration for the The reason for focusing on just |
I'm starting to thing that, having InitConfiguration/JoinConfiguration does not make really sense for the sake of ClusterAPI. This is a kubeadm detail that should be managed internally by CABPK/KCP |
Slightly tangential but semi-related - would it make sense to stop exposing the kubeadm v1betax types in our KubeadmConfig/KubeadmControlPlane specs, and instead use our own types? This would allow us to separate what users fill in from which kubeadm API version we end up using in our bootstrap data. |
100%, however it does introduce the challenge that we still need to generate a valid kubeadm config for the purposes of bootstrapping and modifying the stored in-cluster configuration. |
Exactly - we'd have to know which kubeadm API version to use |
Moving the kubeadm types discussion over to #2769 |
/milestone v0.3.7 |
User Story
As a developer, we would like to be able to change the node registration options used by the KCP. When upgrading, we frequently change these settings to add node labels containing information about that particular node (i.e. the distribution version of the virtual machine image).
This is currently blocked by the validating webhook:
We've also had cause in the past to change other fields in the option such as
tls-cipher-suites
.While this isn't as important for the init configuration, given that it's effectively unused after the initial control plane node has been made available, it's convenient in our reconciliation system to not have to determine whether we're updating an existing KCP and instead just generate one from scratch and apply it. It's also nice to see the configurations line up, as it reduces confusion when looking at a KCP that has had several configurations rolled through it.
Detailed Description
The validating webhook should allow users to change a KCP's
.spec.kubeadmConfigSpec.initConfiguration.nodeRegistration
and.spec.kubeadmConfigSpec.joinConfiguration.nodeRegistration
options.Anything else you would like to add:
I suspect there are other things in the cluster configuration that we'd like to be able to manipulate as well. In the past, we've had cause to change fields such as
.clusterConfiguration.apiServer.extraArgs.audit-log-path
and.enable-admission-plugins
./kind feature
The text was updated successfully, but these errors were encountered: