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")
|
||||
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.")
|
||||
minionRegexp = flag.String("minion_regexp", "", "If non empty, and -cloud_provider is specified, a regular expression for matching minion VMs")
|
||||
etcdServerList, machineList util.StringList
|
||||
)
|
||||
|
||||
|
@ -69,7 +70,7 @@ func main() {
|
|||
|
||||
var m *master.Master
|
||||
if len(etcdServerList) > 0 {
|
||||
m = master.New(etcdServerList, machineList, cloud)
|
||||
m = master.New(etcdServerList, machineList, cloud, *minionRegexp)
|
||||
} else {
|
||||
m = master.NewMemoryServer(machineList, cloud)
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ func main() {
|
|||
machineList := []string{"localhost", "machine"}
|
||||
|
||||
// Master
|
||||
m := master.New(servers, machineList, nil)
|
||||
m := master.New(servers, machineList, nil, "")
|
||||
apiserver := httptest.NewServer(m.ConstructHandler("/api/v1beta1"))
|
||||
|
||||
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/util"
|
||||
"github.com/coreos/go-etcd/etcd"
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
// 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.
|
||||
func New(etcdServers, minions []string, cloud cloudprovider.Interface) *Master {
|
||||
func New(etcdServers, minions []string, cloud cloudprovider.Interface, minionRegexp string) *Master {
|
||||
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{
|
||||
podRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
||||
controllerRegistry: registry.MakeEtcdRegistry(etcdClient, minionRegistry),
|
||||
|
|
Loading…
Reference in New Issue