kube-controller-manager --cloud-provider conflates loops and plugins #52369
Description
/kind bug
What happened: The --cloud-provider flag controls both which control loops are run and which plugin is loaded. However the volume controller loop is still being run in the kube-controller-manager. The volume controller manager needs the appropriate plugin initialized if it is going to control things like GCE Persistent Disk or AWS Elastic Block Store.
What you expected to happen: We should have a second flag to separate the two behaviors we want to control. That way we run only the "external" control loops but still load the appropriate plugin. (gce_pd, aws_ebs, ...)
How to reproduce it (as minimally and precisely as possible): Run "external" on a cloud provider with custom volumes and note they do not come up.
Anything else we need to know?: Nope
Environment:
- Kubernetes version (use
kubectl version
): 1.9 - Cloud provider or hardware configuration**: GCE
- OS (e.g. from /etc/os-release):
- Kernel (e.g.
uname -a
): - Install tools:
- Others: