func newKubernetesMaster(scheduler *scheduler.KubernetesScheduler, c *master.Config) *kubernetesMaster { var m *kubernetesMaster if len(c.EtcdServers) > 0 { etcdClient := etcd.NewClient(c.EtcdServers) minionRegistry := registry.MakeMinionRegistry(c.Minions) m = &kubernetesMaster{ podRegistry: scheduler, controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), serviceRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), minionRegistry: minionRegistry, client: c.Client, } m.init(scheduler, c.Cloud, c.PodInfoGetter) } else { m = &kubernetesMaster{ podRegistry: scheduler, controllerRegistry: registry.MakeMemoryRegistry(), serviceRegistry: registry.MakeMemoryRegistry(), minionRegistry: registry.MakeMinionRegistry(c.Minions), client: c.Client, } m.init(scheduler, c.Cloud, c.PodInfoGetter) } return m }
func minionRegistryMaker(c *Config) registry.MinionRegistry { var minionRegistry registry.MinionRegistry if c.Cloud != nil && len(c.MinionRegexp) > 0 { var err error minionRegistry, err = registry.MakeCloudMinionRegistry(c.Cloud, c.MinionRegexp) if err != nil { glog.Errorf("Failed to initalize cloud minion registry reverting to static registry (%#v)", err) } } if minionRegistry == nil { minionRegistry = registry.MakeMinionRegistry(c.Minions) } if c.HealthCheckMinions { minionRegistry = registry.NewHealthyMinionRegistry(minionRegistry, &http.Client{}) } if c.MinionCacheTTL > 0 { cachingMinionRegistry, err := registry.NewCachingMinionRegistry(minionRegistry, c.MinionCacheTTL) if err != nil { glog.Errorf("Failed to initialize caching layer, ignoring cache.") } else { minionRegistry = cachingMinionRegistry } } return minionRegistry }
func minionRegistryMaker(minions []string, cloud cloudprovider.Interface, minionRegexp string, healthCheck bool, cacheTTL time.Duration) registry.MinionRegistry { var minionRegistry registry.MinionRegistry if cloud != nil && len(minionRegexp) > 0 { var err error minionRegistry, err = registry.MakeCloudMinionRegistry(cloud, minionRegexp) if err != nil { glog.Errorf("Failed to initalize cloud minion registry reverting to static registry (%#v)", err) } } if minionRegistry == nil { minionRegistry = registry.MakeMinionRegistry(minions) } if healthCheck { minionRegistry = registry.NewHealthyMinionRegistry(minionRegistry, &http.Client{}) } if cacheTTL > 0 { cachingMinionRegistry, err := registry.NewCachingMinionRegistry(minionRegistry, cacheTTL) if err != nil { glog.Errorf("Failed to initialize caching layer, ignoring cache.") } else { minionRegistry = cachingMinionRegistry } } return minionRegistry }
// Returns a memory (not etcd) backed apiserver. func NewMemoryServer(minions []string, cloud cloudprovider.Interface) *Master { m := &Master{ podRegistry: registry.MakeMemoryRegistry(), controllerRegistry: registry.MakeMemoryRegistry(), serviceRegistry: registry.MakeMemoryRegistry(), minionRegistry: registry.MakeMinionRegistry(minions), } m.init(cloud) return m }
func minionRegistryMaker(minions []string, cloud cloudprovider.Interface, minionRegexp string) registry.MinionRegistry { if cloud != nil && len(minionRegexp) > 0 { minionRegistry, err := registry.MakeCloudMinionRegistry(cloud, minionRegexp) if err != nil { glog.Errorf("Failed to initalize cloud minion registry reverting to static registry (%#v)", err) } return minionRegistry } return registry.MakeMinionRegistry(minions) }
// NewMemoryServer returns a new instance of Master backed with memory (not etcd). func NewMemoryServer(c *Config) *Master { m := &Master{ podRegistry: registry.MakeMemoryRegistry(), controllerRegistry: registry.MakeMemoryRegistry(), serviceRegistry: registry.MakeMemoryRegistry(), minionRegistry: registry.MakeMinionRegistry(c.Minions), client: c.Client, } m.init(c.Cloud, c.PodInfoGetter) return m }
// NewMemoryServer returns a new instance of Master backed with memory (not etcd). func NewMemoryServer(minions []string, podInfoGetter client.PodInfoGetter, cloud cloudprovider.Interface, client *client.Client) *Master { m := &Master{ podRegistry: registry.MakeMemoryRegistry(), controllerRegistry: registry.MakeMemoryRegistry(), serviceRegistry: registry.MakeMemoryRegistry(), minionRegistry: registry.MakeMinionRegistry(minions), client: client, } m.init(cloud, podInfoGetter) return m }
// Returns a new apiserver. func New(etcdServers, minions []string, cloud cloudprovider.Interface) *Master { etcdClient := etcd.NewClient(etcdServers) minionRegistry := registry.MakeMinionRegistry(minions) m := &Master{ podRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), serviceRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), minionRegistry: minionRegistry, } m.init(cloud) return m }
// Returns a new apiserver. func New(etcdServers, minions []string, cloud cloudprovider.Interface, minionRegexp string) *Master { etcdClient := etcd.NewClient(etcdServers) var minionRegistry registry.MinionRegistry if cloud != nil && len(minionRegexp) > 0 { var err error minionRegistry, err = registry.MakeCloudMinionRegistry(cloud, minionRegexp) if err != nil { glog.Errorf("Failed to initalize cloud minion registry reverting to static registry (%#v)", err) minionRegistry = registry.MakeMinionRegistry(minions) } } else { minionRegistry = registry.MakeMinionRegistry(minions) } m := &Master{ podRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), serviceRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry), minionRegistry: minionRegistry, } m.init(cloud) return m }