Change:
Hyperkube supports a number of short aliases for commands, such as , , , , etc, rather than the longer , , , etc. There are comments indicating this is "unfortunate" and we still currently create these aliases in the hyperkube docker image: It'd be nice to simplify this, assuming we can find all uses of the short aliases and remove them. /kind cleanup Not sure which sig should own this, so tagging a few. /sig architecture cluster-lifecycle cli cc
interestingly, the command doesn't create the short aliases, though we also don't really use anywhere either.
I think we can just go ahead and start the deprecation cycle for this. WDYT? cc
cc as well
+1 to nuke it
/assign :wink: ok?
SGTM
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten
/remove-lifecycle rotten
/help
This request has been marked as needing help from a contributor. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : /help Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
I would like to work on it!
It seems like this issue was already solved in ?
I don't think the hyperkube code was changed in that PR, only the image?
Yes, thanks for your comment, can i try to fix it ?
I made a PR here: . Review/feedback/suggestions appreciated! :)
/assign /unassign
GitHub didn't allow me to assign the following users: Rand01ph. Note that only and repo collaborators can be assigned and that issues/PRs can only have 10 assignees at the same time. For more information please see <detailsIn response to : /assign /unassign Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/remove-sig architecture cli /sig release Does anyone even still use hyperkube? Wouldn't they use kubeadm or k3s instead?
AFAIK, SAP (the company) still use hyperkube.
aks-engine deployer ( ) still uses hyperkube
Since this ticket is completed now. Can this todo be removed?
we are removing the whole thing :)

Discussion:
func NewHyperKubeCommand(stopCh <-chan struct{}) (*cobra.Command, []func() *cobra.Command) { // these have to be functions since the command is polymorphic. Cobra wants you to be top level // command to get executed <del> apiserver := func() *cobra.Command { ret := kubeapiserver.NewAPIServerCommand(stopCh) // add back some unfortunate aliases that should be removed ret.Aliases = []string{"apiserver"} return ret } controller := func() *cobra.Command { ret := kubecontrollermanager.NewControllerManagerCommand() // add back some unfortunate aliases that should be removed ret.Aliases = []string{"controller-manager"} return ret } proxy := func() *cobra.Command { ret := kubeproxy.NewProxyCommand() // add back some unfortunate aliases that should be removed ret.Aliases = []string{"proxy"} return ret } scheduler := func() *cobra.Command { ret := kubescheduler.NewSchedulerCommand() // add back some unfortunate aliases that should be removed ret.Aliases = []string{"scheduler"} return ret } </del> <ins> apiserver := func() *cobra.Command { return kubeapiserver.NewAPIServerCommand(stopCh) } controller := func() *cobra.Command { return kubecontrollermanager.NewControllerManagerCommand() } proxy := func() *cobra.Command { return kubeproxy.NewProxyCommand() } scheduler := func() *cobra.Command { return kubescheduler.NewSchedulerCommand() } </ins> kubectlCmd := func() *cobra.Command { return kubectl.NewDefaultKubectlCommand() } kubelet := func() *cobra.Command { return kubelet.NewKubeletCommand(stopCh) } cloudController := func() *cobra.Command { return cloudcontrollermanager.NewCloudControllerManagerCommand() }

fi APISERVER_LOG=${LOG_DIR}/kube-apiserver.log <del> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" apiserver "${authorizer_arg}" "${priv_arg}" ${runtime_config}  </del> <ins> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" kube-apiserver "${authorizer_arg}" "${priv_arg}" ${runtime_config}  </ins> ${cloud_config_arg}  "${advertise_address}"  "${node_port_range}" 

fi CTLRMGR_LOG=${LOG_DIR}/kube-controller-manager.log <del> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" controller-manager  </del> <ins> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" kube-controller-manager  </ins> --v="${LOG_LEVEL}"  --vmodule="${LOG_SPEC}"  --service-account-private-key-file="${SERVICE_ACCOUNT_KEY}" 

fi # shellcheck disable=SC2024 <del> sudo "${GO_OUT}/hyperkube" proxy  </del> <ins> sudo "${GO_OUT}/hyperkube" kube-proxy  </ins> --v="${LOG_LEVEL}"  --config=/tmp/kube-proxy.yaml  --master="https://${API_HOST}:${API_SECURE_PORT}" >"${PROXY_LOG}" 2>&1 &

function start_kubescheduler { SCHEDULER_LOG=${LOG_DIR}/kube-scheduler.log <del> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" scheduler  </del> <ins> ${CONTROLPLANE_SUDO} "${GO_OUT}/hyperkube" kube-scheduler  </ins> --v="${LOG_LEVEL}"  --leader-elect=false  --kubeconfig "${CERT_DIR}"/scheduler.kubeconfig