cloud-controller-manager get /healthz instead of calling restclient.ServerAPIVersions to wait for apiserver being healthy

This commit is contained in:
hzxuzhonghu
2018-02-26 15:57:42 +08:00
parent 6a7656b693
commit 97be082fb1
3 changed files with 65 additions and 38 deletions

View File

@@ -260,15 +260,9 @@ func startControllers(c *cloudcontrollerconfig.CompletedConfig, kubeconfig *rest
// If apiserver is not running we should wait for some time and fail only then. This is particularly
// important when we start apiserver and controller manager at the same time.
err = wait.PollImmediate(time.Second, 10*time.Second, func() (bool, error) {
if _, err = restclient.ServerAPIVersions(kubeconfig); err == nil {
return true, nil
}
glog.Errorf("Failed to get api versions from server: %v", err)
return false, nil
})
err = genericcontrollermanager.WaitForAPIServer(versionedClient, 10*time.Second)
if err != nil {
glog.Fatalf("Failed to get api versions from server: %v", err)
glog.Fatalf("Failed to wait for apiserver being healthy: %v", err)
}
sharedInformers.Start(stop)