From ebfdb25c0571847d82fd6f44fd3b23bac961e86b Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Fri, 1 Nov 2019 16:19:32 +0200 Subject: [PATCH] kubeadm: always use a short timeout for clientset creation ToClientSet() in kubeconfig.go creates a clientset from the passed Config object (kubeconfig). For IP addresses that are not reachable e.g. Get() calls for ConfigMaps can block for a few minutes with the default timeout. Modify the timeout to a shorter value by passing an override. --- cmd/kubeadm/app/util/kubeconfig/kubeconfig.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/kubeadm/app/util/kubeconfig/kubeconfig.go b/cmd/kubeadm/app/util/kubeconfig/kubeconfig.go index 488397ebff8..cc03c085d57 100644 --- a/cmd/kubeadm/app/util/kubeconfig/kubeconfig.go +++ b/cmd/kubeadm/app/util/kubeconfig/kubeconfig.go @@ -80,7 +80,8 @@ func ClientSetFromFile(path string) (*clientset.Clientset, error) { // ToClientSet converts a KubeConfig object to a client func ToClientSet(config *clientcmdapi.Config) (*clientset.Clientset, error) { - clientConfig, err := clientcmd.NewDefaultClientConfig(*config, &clientcmd.ConfigOverrides{}).ClientConfig() + overrides := clientcmd.ConfigOverrides{Timeout: "10s"} + clientConfig, err := clientcmd.NewDefaultClientConfig(*config, &overrides).ClientConfig() if err != nil { return nil, errors.Wrap(err, "failed to create API client configuration from kubeconfig") }