Fix dynamic kubelet config init order

If the metrics ain't created, the values will not be registered, and the
metrics will not be visible in the metric endpoint.

Therefore move init of dynamic kubelet config below the startup of the
kubelet server (and the init of metrics).
This commit is contained in:
Odin Ugedal 2019-09-26 11:26:29 +02:00
parent be657f7462
commit 2292873fdd
No known key found for this signature in database
GPG Key ID: AFF9C8242CF7A7AF

View File

@ -589,14 +589,6 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, stopCh <-chan
} }
} }
// If the kubelet config controller is available, and dynamic config is enabled, start the config and status sync loops
if utilfeature.DefaultFeatureGate.Enabled(features.DynamicKubeletConfig) && len(s.DynamicConfigDir.Value()) > 0 &&
kubeDeps.KubeletConfigController != nil && !standaloneMode && !s.RunOnce {
if err := kubeDeps.KubeletConfigController.StartSync(kubeDeps.KubeClient, kubeDeps.EventClient, string(nodeName)); err != nil {
return err
}
}
if kubeDeps.Auth == nil { if kubeDeps.Auth == nil {
auth, err := BuildAuth(nodeName, kubeDeps.KubeClient, s.KubeletConfiguration) auth, err := BuildAuth(nodeName, kubeDeps.KubeClient, s.KubeletConfiguration)
if err != nil { if err != nil {
@ -721,6 +713,14 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, stopCh <-chan
return err return err
} }
// If the kubelet config controller is available, and dynamic config is enabled, start the config and status sync loops
if utilfeature.DefaultFeatureGate.Enabled(features.DynamicKubeletConfig) && len(s.DynamicConfigDir.Value()) > 0 &&
kubeDeps.KubeletConfigController != nil && !standaloneMode && !s.RunOnce {
if err := kubeDeps.KubeletConfigController.StartSync(kubeDeps.KubeClient, kubeDeps.EventClient, string(nodeName)); err != nil {
return err
}
}
if s.HealthzPort > 0 { if s.HealthzPort > 0 {
mux := http.NewServeMux() mux := http.NewServeMux()
healthz.InstallHandler(mux) healthz.InstallHandler(mux)