diff options
| author | zhangjie <iamkadisi@163.com> | 2020-01-10 14:10:55 +0800 |
|---|---|---|
| committer | zhangjie <iamkadisi@163.com> | 2020-01-10 14:10:55 +0800 |
| commit | a2573e76a9771aa099a45c7ac31ff5f50dd62ab9 (patch) | |
| tree | b93f866daf58c2de89113ecf1b548706c72c75d1 /edgemesh | |
| parent | Merge pull request #1373 from fisherxu/reliable-crd (diff) | |
| download | kubeedge-a2573e76a9771aa099a45c7ac31ff5f50dd62ab9.tar.gz | |
Optimize edgemesh configuration
Signed-off-by: zhangjie <iamkadisi@163.com>
Diffstat (limited to 'edgemesh')
| -rw-r--r-- | edgemesh/pkg/config/config.go | 39 | ||||
| -rw-r--r-- | edgemesh/pkg/module.go | 2 | ||||
| -rw-r--r-- | edgemesh/pkg/resolver/resolver.go | 4 | ||||
| -rw-r--r-- | edgemesh/pkg/server/server.go | 4 |
4 files changed, 45 insertions, 4 deletions
diff --git a/edgemesh/pkg/config/config.go b/edgemesh/pkg/config/config.go new file mode 100644 index 000000000..b2f5e80a4 --- /dev/null +++ b/edgemesh/pkg/config/config.go @@ -0,0 +1,39 @@ +package config + +import ( + "os" + "sync" + + "k8s.io/klog" + + "github.com/kubeedge/beehive/pkg/common/config" +) + +var c Configure +var once sync.Once + +type Configure struct { + StrategyName string +} + +func InitConfigure() { + once.Do(func() { + var errs []error + if len(errs) != 0 { + for _, e := range errs { + klog.Errorf("%v", e) + } + klog.Error("init edgemesh config error, exit") + os.Exit(1) + } + strategyName := config.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string) + c = Configure{ + StrategyName: strategyName, + } + klog.Infof("init edgemesh config successfully,config info %++v", c) + }) + +} +func Get() *Configure { + return &c +} diff --git a/edgemesh/pkg/module.go b/edgemesh/pkg/module.go index 2b3f4d088..ee869a17a 100644 --- a/edgemesh/pkg/module.go +++ b/edgemesh/pkg/module.go @@ -6,6 +6,7 @@ import ( "github.com/kubeedge/beehive/pkg/core" beehiveContext "github.com/kubeedge/beehive/pkg/core/context" "github.com/kubeedge/kubeedge/edge/pkg/common/modules" + meshconfig "github.com/kubeedge/kubeedge/edgemesh/pkg/config" "github.com/kubeedge/kubeedge/edgemesh/pkg/constant" "github.com/kubeedge/kubeedge/edgemesh/pkg/proxy" "github.com/kubeedge/kubeedge/edgemesh/pkg/server" @@ -17,6 +18,7 @@ type EdgeMesh struct { // Register register edgemesh func Register() { + meshconfig.InitConfigure() core.Register(&EdgeMesh{}) } diff --git a/edgemesh/pkg/resolver/resolver.go b/edgemesh/pkg/resolver/resolver.go index 011983519..1a576b049 100644 --- a/edgemesh/pkg/resolver/resolver.go +++ b/edgemesh/pkg/resolver/resolver.go @@ -10,7 +10,7 @@ import ( "github.com/go-chassis/go-chassis/core/invocation" "k8s.io/klog" - mconfig "github.com/kubeedge/beehive/pkg/common/config" + "github.com/kubeedge/kubeedge/edgemesh/pkg/config" ) type Resolver interface { @@ -60,7 +60,7 @@ func (resolver *MyResolver) Resolve(data chan []byte, stop chan interface{}, inv i.SourceServiceID = "" i.Protocol = "rest" i.Args = req - i.Strategy = mconfig.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string) + i.Strategy = config.Get().StrategyName i.Reply = &http.Response{} invCallback("http", *i) } diff --git a/edgemesh/pkg/server/server.go b/edgemesh/pkg/server/server.go index b17c352c1..15a0a36f7 100644 --- a/edgemesh/pkg/server/server.go +++ b/edgemesh/pkg/server/server.go @@ -7,7 +7,7 @@ import ( "github.com/go-chassis/go-chassis/core/loadbalancer" "github.com/go-chassis/go-chassis/core/registry" - mconfig "github.com/kubeedge/beehive/pkg/common/config" + meshconfig "github.com/kubeedge/kubeedge/edgemesh/pkg/config" _ "github.com/kubeedge/kubeedge/edgemesh/pkg/panel" edgeregistry "github.com/kubeedge/kubeedge/edgemesh/pkg/registry" "github.com/kubeedge/kubeedge/edgemesh/pkg/resolver" @@ -31,7 +31,7 @@ func Start() { control.Init(opts) opt := registry.Options{} registry.DefaultServiceDiscoveryService = edgeregistry.NewServiceDiscovery(opt) - myStrategy := mconfig.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string) + myStrategy := meshconfig.Get().StrategyName loadbalancer.InstallStrategy(myStrategy, func() loadbalancer.Strategy { switch myStrategy { case "RoundRobin": |
