-
Notifications
You must be signed in to change notification settings - Fork 715
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 -1.21 ignoring enable-admission-plugins #2496
Comments
i doubt that is the case. the logic around
what configuration file are you passing to kubeadm treats all control-plane nodes as replicas and uses the shared ClusterConfiguration for them. the only way to apply custom settings per CP nodes currently is to use related to: |
also, note that configuring a cluster with a different set of admission plugins across kube-apiserver instances is not really advised. |
Thanks @neolit123
Yes, this is a transient step in upgrade. once upgrade is done all nodes in the cluster will have the same configuration. |
like i've mentioned please see the --help screen for the --experimental-patches flag to understand how to customize control-plane instances. closing as this is not a bug. |
Is this a BUG REPORT or FEATURE REQUEST?
Choose one: BUG REPORT or FEATURE REQUEST
Versions
kubeadm version (use
kubeadm version
):kubeadm version: &version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0+vmware.1-wcp", GitCommit:"8b28790eac77cadc246ec1f3b5a67892239a21c8", GitTreeState:"clean", BuildDate:"2021-05-25T03:27:46Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
Environment:
kubectl version
): 1.21uname -a
):What happened?
Im performing upgrade of my cluster from 1.20 to 1.21
as part of 1.21, there are some changes in admission-plugins that i want to enable on 1.21 cluster.
i have generated a kubeadm.yaml for 1.21, with the modified set of
enable-admission-plugins
when i run kubeadm join with the above kubeadm.yaml passed as config, the generated kube-apiserver.yaml manifest
does not have the admission-plugins specified in kubeadm.yaml.
The manifest has the admission-plugins retrieved from kubeadm-config configmap from 1.20 cluster.
What you expected to happen?
I expected that the admission plugins from kubeadm.yaml will be consumed and the generated kube-apiserver.yaml, as part of kubeadm join, would have the new admission-plugins
This mechanism works fine when upgrading from 1.19 cluster to 1.20 cluster. however it fails when upgrading from 1.20 to 1.21 cluster
How to reproduce it (as minimally and precisely as possible)?
deploy a 1.20 cluster with few admission plugins
generate a kubeadm.yaml for 1.21 by adding few admission-plugins or removing a few from 1.20 cluster
pass the kubeadm.yaml to kubeadm join control-plane-prepare all --config=kubeadm.yaml
the kube-apiserver.yaml generated in manifest directory will not have the new admission-plugins
Anything else we need to know?
The text was updated successfully, but these errors were encountered: