-
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 packages depend on cloud provider packages #497
Comments
fyi, we need to get cloud provider stuff out of api server too - see Issue kubernetes/kubernetes#49402 As a first step, here's a deprecation for the cloud provider options : kubernetes/kubernetes#53912 |
Bumping to v1.10 |
This is heavily dependent on the status of other libraries being factored properly. |
/assign @liztio |
It's up to 1218 now -- not sure the original ticket is still relevant, but I'm digging into this a bit. I'll update with findings.
|
Ugh, I thought I sent an update on this during kubecon, apparently I didn't. apiservoptions "k8s.io/kubernetes/cmd/kube-apiserver/app/options"
cmoptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
schedulerapp "k8s.io/kubernetes/cmd/kube-scheduler/app" and most of the deps should go a way I think and hope. LMK what you find! |
You're not wrong :) that dropped the dep count down to 774.
|
That's way more reasonable 👏. You should see a huge drop in binary size/build time as well. |
Is there a PR for this? |
This check pulled in a number of dpendencies that bloated the dep graph. The feature itself was not worth an extra 500 dependencies so we decided to remove the feature. Closes kubernetes/kubeadm#497 Signed-off-by: Chuck Ha <[email protected]>
@timothysc Yep. Linked above. |
Automatic merge from submit-queue (batch tested with PRs 63673, 63712). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Remove ExtraArgs kubeadm preflight check This check pulled in a number of dependencies that bloated the dep graph. The feature itself was not worth an extra 500 dependencies so we decided to remove the feature. Closes kubernetes/kubeadm#497 Signed-off-by: Chuck Ha <[email protected]> **What this PR does / why we need it**: This PR removes a check that was pulling in a lot of external dependencies. We decided the check was not worth the extra dependencies. **Special notes for your reviewer**: We might want to keep the first part of the check and only delete the second part, but it was easier to delete the whole thing. **Release note**: ```release-note Removes a preflight check for kubeadm that validated custom kube-apiserver, kube-controller-manager and kube-scheduler arguments. ```
This check pulled in a number of dpendencies that bloated the dep graph. The feature itself was not worth an extra 500 dependencies so we decided to remove the feature. Closes kubernetes/kubeadm#497 Signed-off-by: Chuck Ha <[email protected]>
This check pulled in a number of dpendencies that bloated the dep graph. The feature itself was not worth an extra 500 dependencies so we decided to remove the feature. Closes kubernetes/kubeadm#497 Signed-off-by: Chuck Ha <[email protected]>
Somehow all the in-tree cloud provider packages are built into kubeadm; which is really bad.
We should rip those out as kubeadm doesn't use them in any way.
Currently we have 985 linked packages, which is horrific
The main culprit is https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-apiserver/app/options/plugins.go
This file makes kubeadm depend on all clouds etc etc.
Removing the dep on the cloudproviders and the PVL controller reduces the dep number to 861
kubeadm links in the options package to validate the options in wait for componentconfig
We might just remove that functionality or clean up the options package to not depend on cloud providers.
Also kubeadm now depens on
pkg/controller/service
although it shouldn't: https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants.go#L27Removing the linkage to the
options
packages reduces the dep number to 523.Yet removing the dep on
pkg/controller/service
makes it 521.Compare:
With 521 dependencies kubeadm weighs 48 MB. Before the cut, the binary size was (is) 138 MB!!
We should discuss whether the preflight checks for control plane args is worth it or if we should cut 65% of the binary size now.
cc @andrewsykim @dims @timothysc
The text was updated successfully, but these errors were encountered: