56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"os"
|
|
|
|
"monitor/pkg/controllers"
|
|
"monitor/pkg/k8s"
|
|
|
|
"go.uber.org/zap/zapcore"
|
|
ctrl "sigs.k8s.io/controller-runtime"
|
|
"sigs.k8s.io/controller-runtime/pkg/log/zap"
|
|
)
|
|
|
|
var (
|
|
version string
|
|
commit string
|
|
level zapcore.Level
|
|
conf k8s.Config
|
|
)
|
|
|
|
func main() {
|
|
conf.HealthProbeBindAddress = "0" // Disable healthy endpoint of controller manager
|
|
conf.LeaderElectionID = "monitor.3m3m.net"
|
|
|
|
// 参数解析
|
|
flag.TextVar(&level, "log-level", zapcore.InfoLevel, "logger level")
|
|
flag.StringVar(&conf.MetricsBindAddress, "metrics-address", "127.0.0.1:8080", "The address the metric endpoint binds to.")
|
|
flag.BoolVar(&conf.LeaderElection, "enable-leader-election", false, "Enable leader election for controller manager")
|
|
flag.Parse()
|
|
// 初始化日志格式
|
|
ctrl.SetLogger(zap.New(func(o *zap.Options) {
|
|
o.Level = level
|
|
o.Development = true
|
|
o.TimeEncoder = zapcore.RFC3339TimeEncoder
|
|
}))
|
|
log := ctrl.Log.WithName("monitor")
|
|
|
|
mgr, err := k8s.NewManager(conf)
|
|
if err != nil {
|
|
log.Error(err, "new k8s manager")
|
|
os.Exit(1)
|
|
}
|
|
|
|
if err = mgr.Setup(controllers.NewService); err != nil {
|
|
log.Error(err, "setup service controller")
|
|
os.Exit(1)
|
|
}
|
|
|
|
log.Info("starting server", "version", version)
|
|
if err = mgr.Start(); err != nil {
|
|
log.Error(err, "start serverr")
|
|
os.Exit(1)
|
|
}
|
|
}
|