Skip to content

kubeadm makes it difficult to override kube-controller-manager --controllers #3251

@danwinship

Description

@danwinship

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).

Metadata

Metadata

Assignees

Labels

area/UXarea/apikind/featureCategorizes issue or PR as related to a new feature.priority/backlogHigher priority than priority/awaiting-more-evidence.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions