Make kubelet builder customizable

This is the preparation to remove a lot of duplicated code for kubelet
initialization in https://github.com/kubernetes/kubernetes/pull/13036.
This commit is contained in:
Dr. Stefan Schimanski 2015-09-23 11:19:39 +02:00
parent e330b1197e
commit cd760cc4ea
3 changed files with 7 additions and 5 deletions

View File

@ -238,7 +238,7 @@ func startComponents(firstManifestURL, secondManifestURL string) (string, string
10*time.Second, /* SyncFrequency */
40 /* MaxPods */)
kubeletapp.RunKubelet(kcfg, nil)
kubeletapp.RunKubelet(kcfg)
// Kubelet (machine)
// Create a second kubelet so that the guestbook example's two redis slaves both
// have a place they can schedule.
@ -270,7 +270,7 @@ func startComponents(firstManifestURL, secondManifestURL string) (string, string
40 /* MaxPods */)
kubeletapp.RunKubelet(kcfg, nil)
kubeletapp.RunKubelet(kcfg)
return apiServer.URL, configFilePath
}

View File

@ -455,7 +455,7 @@ func (s *KubeletServer) Run(kcfg *KubeletConfig) error {
glog.Warning(err)
}
if err := RunKubelet(kcfg, nil); err != nil {
if err := RunKubelet(kcfg); err != nil {
return err
}
@ -663,7 +663,7 @@ func SimpleKubelet(client *client.Client,
// 2 Kubelet binary
// 3 Standalone 'kubernetes' binary
// Eventually, #2 will be replaced with instances of #3
func RunKubelet(kcfg *KubeletConfig, builder KubeletBuilder) error {
func RunKubelet(kcfg *KubeletConfig) error {
kcfg.Hostname = nodeutil.GetHostname(kcfg.HostnameOverride)
if len(kcfg.NodeName) == 0 {
@ -712,6 +712,7 @@ func RunKubelet(kcfg *KubeletConfig, builder KubeletBuilder) error {
credentialprovider.SetPreferredDockercfgPath(kcfg.RootDirectory)
builder := kcfg.Builder
if builder == nil {
builder = createAndInitKubelet
}
@ -782,6 +783,7 @@ func makePodSourceConfig(kc *KubeletConfig) *config.PodConfig {
type KubeletConfig struct {
Address net.IP
AllowPrivileged bool
Builder KubeletBuilder
CAdvisorInterface cadvisor.Interface
CgroupRoot string
Cloud cloudprovider.Interface

View File

@ -130,7 +130,7 @@ func main() {
10*time.Second, /* SyncFrequency */
40, /* MaxPods */
)
kubeletapp.RunKubelet(kcfg, nil)
kubeletapp.RunKubelet(kcfg)
select {}
}