-
Notifications
You must be signed in to change notification settings - Fork 735
Description
Trying to override kube-controller-manager --controllers in the obvious way (by setting .controllerManager.extraArgs.controllers in the ClusterConfiguration) doesn't quite work, because it causes kubeadm's default value for that argument ("*,bootstrapsigner,tokencleaner") to be ignored, causing the cluster to then not come up correctly because of the lack of a bootstrap signing controller. (as in https://prow.k8s.io/view/gs/kubernetes-ci-logs/logs/ci-kubernetes-kind-network-deprecate-endpoints/1981104994845200384, fixed by kubernetes/test-infra#35763)
It seems like if kubeadm requires those two controllers to be present, then it ought to override your override to make the right thing happen? Or else provide a way to explicitly set the --controllers arg other than via extraArgs so that it can fix it up afterward. It's awkward for my custom config to have to hardcode knowledge about what controllers kubeadm requires (and of course, if kubeadm starts requiring more non-default controllers in the future, then my config will start failing again).