|https://github.com/openshift/origin/pull/19509 has been merged and does two things:|
First, and most important, it puts our images and binaries on a diet:
1. oc is now 110M instead of 220M
2. most origin images were 1.26GB uncompressed (300 or so on the wire) are now half that size (150 on the wire)
The size of the binary was mostly due to people accidentally or intentionally taking import dependencies from 'oc' into the kubelet, the controllers, or the apiservers. Those links are cut and we'll be putting in protections to prevent accidental growth.
Changes to our images and how they are split out:
1. openshift/origin and openshift/node are now dead (in both OCP and Origin)
1a. We stopped publishing or using origin-sti-build - both docker and s2i builds now use the origin-docker-build image
2. openshift/origin's closest equivalent is openshift/origin-control-plane which has the openshift and oc binaries in it
3. openshift/node is now called openshift/origin-node, and has some other changes described below
4. the hypershift binary (launches the openshift api and controllers) is in openshift/origin-hypershift
5. the hyperkube binary (launches the kube api, controllers, and kubelet) is in openshift/origin-hyperkube
6. two new images openshift/origin-test and openshift/origin-cli have been created that contain the e2e binary and the cli binary
Two new RPMs have been created that contain just hyperkube and just hypershift
The node image in 3.10 will continue to have the openshift binary and hyperkube. Starting in 3.11 we will likely rename the node image to openshift/origin-sdn and remove the kubelet and openshift logic from it.
As part of removing our direct go dependency on the kubelet, a new binary openshift-node-config has been created that does exactly one thing - reads node-config.yaml and converts it to kubelet arguments. In 3.11 we will switch ansible over from calling openshift start node to a calling openshift-node-config.
The new image separation will be mirrored into OCP, and oc cluster up now reacts to the changes. No ansible changes are necessary in 3.10.
If you see oddities because you depended on a particular binary being in one of our images, please file a bug to me.