mirror of https://github.com/k3s-io/k3s
Merge pull request #72030 from ereslibre/fix-race-condition-on-node-join
Fix race condition when joining nodespull/564/head
commit
73b9effcb6
|
@ -586,10 +586,12 @@ func (j *Join) PostInstallControlPlane(initConfiguration *kubeadmapi.InitConfigu
|
||||||
func waitForTLSBootstrappedClient() error {
|
func waitForTLSBootstrappedClient() error {
|
||||||
fmt.Println("[tlsbootstrap] Waiting for the kubelet to perform the TLS Bootstrap...")
|
fmt.Println("[tlsbootstrap] Waiting for the kubelet to perform the TLS Bootstrap...")
|
||||||
|
|
||||||
kubeletKubeConfig := filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.KubeletKubeConfigFileName)
|
|
||||||
// Loop on every falsy return. Return with an error if raised. Exit successfully if true is returned.
|
// Loop on every falsy return. Return with an error if raised. Exit successfully if true is returned.
|
||||||
return wait.PollImmediate(kubeadmconstants.APICallRetryInterval, kubeadmconstants.TLSBootstrapTimeout, func() (bool, error) {
|
return wait.PollImmediate(kubeadmconstants.APICallRetryInterval, kubeadmconstants.TLSBootstrapTimeout, func() (bool, error) {
|
||||||
_, err := os.Stat(kubeletKubeConfig)
|
// Check that we can create a client set out of the kubelet kubeconfig. This ensures not
|
||||||
|
// only that the kubeconfig file exists, but that other files required by it also exist (like
|
||||||
|
// client certificate and key)
|
||||||
|
_, err := kubeconfigutil.ClientSetFromFile(kubeadmconstants.GetKubeletKubeConfigPath())
|
||||||
return (err == nil), nil
|
return (err == nil), nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue