diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 37f72bc7b25..ce126a8922e 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -719,7 +719,7 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, stopCh <-chan glog.Warning(err) } - if err := RunKubelet(&s.KubeletFlags, &s.KubeletConfiguration, kubeDeps, s.RunOnce); err != nil { + if err := RunKubelet(s, kubeDeps, s.RunOnce); err != nil { return err } @@ -885,8 +885,8 @@ func addChaosToClientConfig(s *options.KubeletServer, config *restclient.Config) // 2 Kubelet binary // 3 Standalone 'kubernetes' binary // Eventually, #2 will be replaced with instances of #3 -func RunKubelet(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal.KubeletConfiguration, kubeDeps *kubelet.Dependencies, runOnce bool) error { - hostname := nodeutil.GetHostname(kubeFlags.HostnameOverride) +func RunKubelet(kubeServer *options.KubeletServer, kubeDeps *kubelet.Dependencies, runOnce bool) error { + hostname := nodeutil.GetHostname(kubeServer.HostnameOverride) // Query the cloud provider for our node name, default to hostname if kubeDeps.Cloud == nil nodeName, err := getNodeName(kubeDeps.Cloud, hostname) if err != nil { @@ -900,17 +900,17 @@ func RunKubelet(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal. // prefer this to be done as part of an independent validation step on the // KubeletConfiguration. But as far as I can tell, we don't have an explicit // place for validation of the KubeletConfiguration yet. - hostNetworkSources, err := kubetypes.GetValidatedSources(kubeFlags.HostNetworkSources) + hostNetworkSources, err := kubetypes.GetValidatedSources(kubeServer.HostNetworkSources) if err != nil { return err } - hostPIDSources, err := kubetypes.GetValidatedSources(kubeFlags.HostPIDSources) + hostPIDSources, err := kubetypes.GetValidatedSources(kubeServer.HostPIDSources) if err != nil { return err } - hostIPCSources, err := kubetypes.GetValidatedSources(kubeFlags.HostIPCSources) + hostIPCSources, err := kubetypes.GetValidatedSources(kubeServer.HostIPCSources) if err != nil { return err } @@ -920,46 +920,46 @@ func RunKubelet(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal. HostPIDSources: hostPIDSources, HostIPCSources: hostIPCSources, } - capabilities.Setup(kubeFlags.AllowPrivileged, privilegedSources, 0) + capabilities.Setup(kubeServer.AllowPrivileged, privilegedSources, 0) - credentialprovider.SetPreferredDockercfgPath(kubeFlags.RootDirectory) - glog.V(2).Infof("Using root directory: %v", kubeFlags.RootDirectory) + credentialprovider.SetPreferredDockercfgPath(kubeServer.RootDirectory) + glog.V(2).Infof("Using root directory: %v", kubeServer.RootDirectory) if kubeDeps.OSInterface == nil { kubeDeps.OSInterface = kubecontainer.RealOS{} } - k, err := CreateAndInitKubelet(kubeCfg, + k, err := CreateAndInitKubelet(&kubeServer.KubeletConfiguration, kubeDeps, - &kubeFlags.ContainerRuntimeOptions, - kubeFlags.ContainerRuntime, - kubeFlags.RuntimeCgroups, - kubeFlags.HostnameOverride, - kubeFlags.NodeIP, - kubeFlags.ProviderID, - kubeFlags.CloudProvider, - kubeFlags.CertDirectory, - kubeFlags.RootDirectory, - kubeFlags.RegisterNode, - kubeFlags.RegisterWithTaints, - kubeFlags.AllowedUnsafeSysctls, - kubeFlags.RemoteRuntimeEndpoint, - kubeFlags.RemoteImageEndpoint, - kubeFlags.ExperimentalMounterPath, - kubeFlags.ExperimentalKernelMemcgNotification, - kubeFlags.ExperimentalCheckNodeCapabilitiesBeforeMount, - kubeFlags.ExperimentalNodeAllocatableIgnoreEvictionThreshold, - kubeFlags.MinimumGCAge, - kubeFlags.MaxPerPodContainerCount, - kubeFlags.MaxContainerCount, - kubeFlags.MasterServiceNamespace, - kubeFlags.RegisterSchedulable, - kubeFlags.NonMasqueradeCIDR, - kubeFlags.KeepTerminatedPodVolumes, - kubeFlags.NodeLabels, - kubeFlags.SeccompProfileRoot, - kubeFlags.BootstrapCheckpointPath, - kubeFlags.NodeStatusMaxImages) + &kubeServer.ContainerRuntimeOptions, + kubeServer.ContainerRuntime, + kubeServer.RuntimeCgroups, + kubeServer.HostnameOverride, + kubeServer.NodeIP, + kubeServer.ProviderID, + kubeServer.CloudProvider, + kubeServer.CertDirectory, + kubeServer.RootDirectory, + kubeServer.RegisterNode, + kubeServer.RegisterWithTaints, + kubeServer.AllowedUnsafeSysctls, + kubeServer.RemoteRuntimeEndpoint, + kubeServer.RemoteImageEndpoint, + kubeServer.ExperimentalMounterPath, + kubeServer.ExperimentalKernelMemcgNotification, + kubeServer.ExperimentalCheckNodeCapabilitiesBeforeMount, + kubeServer.ExperimentalNodeAllocatableIgnoreEvictionThreshold, + kubeServer.MinimumGCAge, + kubeServer.MaxPerPodContainerCount, + kubeServer.MaxContainerCount, + kubeServer.MasterServiceNamespace, + kubeServer.RegisterSchedulable, + kubeServer.NonMasqueradeCIDR, + kubeServer.KeepTerminatedPodVolumes, + kubeServer.NodeLabels, + kubeServer.SeccompProfileRoot, + kubeServer.BootstrapCheckpointPath, + kubeServer.NodeStatusMaxImages) if err != nil { return fmt.Errorf("failed to create kubelet: %v", err) } @@ -971,7 +971,7 @@ func RunKubelet(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal. } podCfg := kubeDeps.PodConfig - rlimit.RlimitNumFiles(uint64(kubeCfg.MaxOpenFiles)) + rlimit.RlimitNumFiles(uint64(kubeServer.MaxOpenFiles)) // process pods and exit. if runOnce { @@ -980,7 +980,7 @@ func RunKubelet(kubeFlags *options.KubeletFlags, kubeCfg *kubeletconfiginternal. } glog.Infof("Started kubelet as runonce") } else { - startKubelet(k, podCfg, kubeCfg, kubeDeps, kubeFlags.EnableServer) + startKubelet(k, podCfg, &kubeServer.KubeletConfiguration, kubeDeps, kubeServer.EnableServer) glog.Infof("Started kubelet") } return nil diff --git a/pkg/kubemark/hollow_kubelet.go b/pkg/kubemark/hollow_kubelet.go index a7ea2364475..57fabaf41bd 100644 --- a/pkg/kubemark/hollow_kubelet.go +++ b/pkg/kubemark/hollow_kubelet.go @@ -87,7 +87,10 @@ func NewHollowKubelet( // Starts this HollowKubelet and blocks. func (hk *HollowKubelet) Run() { - if err := kubeletapp.RunKubelet(hk.KubeletFlags, hk.KubeletConfiguration, hk.KubeletDeps, false); err != nil { + if err := kubeletapp.RunKubelet(&options.KubeletServer{ + KubeletFlags: *hk.KubeletFlags, + KubeletConfiguration: *hk.KubeletConfiguration, + }, hk.KubeletDeps, false); err != nil { glog.Fatalf("Failed to run HollowKubelet: %v. Exiting.", err) } select {}