mirror of https://github.com/k3s-io/k3s
Initial integration of the cloud based minion registry.
parent
a5c3889866
commit
431fcac8b0
|
@ -34,6 +34,7 @@ var (
|
||||||
address = flag.String("address", "127.0.0.1", "The address on the local server to listen to. Default 127.0.0.1")
|
address = flag.String("address", "127.0.0.1", "The address on the local server to listen to. Default 127.0.0.1")
|
||||||
apiPrefix = flag.String("api_prefix", "/api/v1beta1", "The prefix for API requests on the server. Default '/api/v1beta1'")
|
apiPrefix = flag.String("api_prefix", "/api/v1beta1", "The prefix for API requests on the server. Default '/api/v1beta1'")
|
||||||
cloudProvider = flag.String("cloud_provider", "", "The provider for cloud services. Empty string for no provider.")
|
cloudProvider = flag.String("cloud_provider", "", "The provider for cloud services. Empty string for no provider.")
|
||||||
|
minionRegexp = flag.String("minion_regexp", "", "If non empty, and -cloud_provider is specified, a regular expression for matching minion VMs")
|
||||||
etcdServerList, machineList util.StringList
|
etcdServerList, machineList util.StringList
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -69,7 +70,7 @@ func main() {
|
||||||
|
|
||||||
var m *master.Master
|
var m *master.Master
|
||||||
if len(etcdServerList) > 0 {
|
if len(etcdServerList) > 0 {
|
||||||
m = master.New(etcdServerList, machineList, cloud)
|
m = master.New(etcdServerList, machineList, cloud, *minionRegexp)
|
||||||
} else {
|
} else {
|
||||||
m = master.NewMemoryServer(machineList, cloud)
|
m = master.NewMemoryServer(machineList, cloud)
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ func main() {
|
||||||
machineList := []string{"localhost", "machine"}
|
machineList := []string{"localhost", "machine"}
|
||||||
|
|
||||||
// Master
|
// Master
|
||||||
m := master.New(servers, machineList, nil)
|
m := master.New(servers, machineList, nil, "")
|
||||||
apiserver := httptest.NewServer(m.ConstructHandler("/api/v1beta1"))
|
apiserver := httptest.NewServer(m.ConstructHandler("/api/v1beta1"))
|
||||||
|
|
||||||
controllerManager := controller.MakeReplicationManager(etcd.NewClient(servers), client.New(apiserver.URL, nil))
|
controllerManager := controller.MakeReplicationManager(etcd.NewClient(servers), client.New(apiserver.URL, nil))
|
||||||
|
|
|
@ -27,6 +27,7 @@ import (
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||||
"github.com/coreos/go-etcd/etcd"
|
"github.com/coreos/go-etcd/etcd"
|
||||||
|
"github.com/golang/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Master contains state for a Kubernetes cluster master/api server.
|
// Master contains state for a Kubernetes cluster master/api server.
|
||||||
|
@ -53,9 +54,19 @@ func NewMemoryServer(minions []string, cloud cloudprovider.Interface) *Master {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a new apiserver.
|
// Returns a new apiserver.
|
||||||
func New(etcdServers, minions []string, cloud cloudprovider.Interface) *Master {
|
func New(etcdServers, minions []string, cloud cloudprovider.Interface, minionRegexp string) *Master {
|
||||||
etcdClient := etcd.NewClient(etcdServers)
|
etcdClient := etcd.NewClient(etcdServers)
|
||||||
minionRegistry := registry.MakeMinionRegistry(minions)
|
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{
|
m := &Master{
|
||||||
podRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
podRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
||||||
controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
||||||
|
|
Loading…
Reference in New Issue