add build_info for karmada binary

Signed-off-by: dongjiang <dongjiang1989@126.com>
This commit is contained in:
dongjiang 2025-03-20 17:02:56 +08:00
parent 0713e4b9be
commit e07b0937ef
No known key found for this signature in database
8 changed files with 29 additions and 9 deletions

View File

@ -35,7 +35,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/config"
"sigs.k8s.io/controller-runtime/pkg/healthz"
crtlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
"github.com/karmada-io/karmada/cmd/agent/app/options"
@ -51,6 +51,7 @@ import (
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
"github.com/karmada-io/karmada/pkg/karmadactl/util/apiclient"
"github.com/karmada-io/karmada/pkg/metrics"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/resourceinterpreter"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
@ -231,9 +232,10 @@ func run(ctx context.Context, opts *options.Options) error {
return err
}
crtlmetrics.Registry.MustRegister(metrics.ClusterCollectors()...)
crtlmetrics.Registry.MustRegister(metrics.ResourceCollectorsForAgent()...)
crtlmetrics.Registry.MustRegister(metrics.PoolCollectors()...)
ctrlmetrics.Registry.MustRegister(metrics.ClusterCollectors()...)
ctrlmetrics.Registry.MustRegister(metrics.ResourceCollectorsForAgent()...)
ctrlmetrics.Registry.MustRegister(metrics.PoolCollectors()...)
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
if err = setupControllers(controllerManager, opts, ctx.Done()); err != nil {
return err

View File

@ -40,7 +40,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/config"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/healthz"
crtlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
"sigs.k8s.io/controller-runtime/pkg/predicate"
@ -74,6 +74,7 @@ import (
"github.com/karmada-io/karmada/pkg/features"
"github.com/karmada-io/karmada/pkg/karmadactl/util/apiclient"
"github.com/karmada-io/karmada/pkg/metrics"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/resourceinterpreter"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
@ -188,9 +189,10 @@ func Run(ctx context.Context, opts *options.Options) error {
return err
}
crtlmetrics.Registry.MustRegister(metrics.ClusterCollectors()...)
crtlmetrics.Registry.MustRegister(metrics.ResourceCollectors()...)
crtlmetrics.Registry.MustRegister(metrics.PoolCollectors()...)
ctrlmetrics.Registry.MustRegister(metrics.ClusterCollectors()...)
ctrlmetrics.Registry.MustRegister(metrics.ResourceCollectors()...)
ctrlmetrics.Registry.MustRegister(metrics.PoolCollectors()...)
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
if err := helper.IndexWork(ctx, controllerManager); err != nil {
klog.Fatalf("Failed to index Work: %v", err)

View File

@ -39,6 +39,7 @@ import (
"github.com/karmada-io/karmada/cmd/descheduler/app/options"
"github.com/karmada-io/karmada/pkg/descheduler"
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
"github.com/karmada-io/karmada/pkg/sharedcli/profileflag"
@ -126,6 +127,9 @@ karmada-scheduler-estimator to get replica status.`,
func run(opts *options.Options, stopChan <-chan struct{}) error {
klog.Infof("karmada-descheduler version: %s", version.Get())
klog.Infof("Please make sure the karmada-scheduler-estimator of all member clusters has been deployed")
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
serveHealthzAndMetrics(opts.HealthProbeBindAddress, opts.MetricsBindAddress)
profileflag.ListenAndServe(opts.ProfileOpts)

View File

@ -37,6 +37,7 @@ import (
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
informerfactory "github.com/karmada-io/karmada/pkg/generated/informers/externalversions"
generatedopenapi "github.com/karmada-io/karmada/pkg/generated/openapi"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/metricsadapter"
"github.com/karmada-io/karmada/pkg/sharedcli/profileflag"
"github.com/karmada-io/karmada/pkg/util"
@ -177,6 +178,7 @@ func (o *Options) Config(stopCh <-chan struct{}) (*metricsadapter.MetricsServer,
// Run runs the metrics-adapter with options. This should never exit.
func (o *Options) Run(ctx context.Context) error {
klog.Infof("karmada-metrics-adapter version: %s", version.Get())
legacyregistry.RawMustRegister(versionmetrics.NewBuildInfoCollector())
if o.MetricsBindAddress != "0" {
go serveMetrics(o.MetricsBindAddress)
}

View File

@ -36,6 +36,7 @@ import (
"github.com/karmada-io/karmada/cmd/scheduler-estimator/app/options"
"github.com/karmada-io/karmada/pkg/estimator/server"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
"github.com/karmada-io/karmada/pkg/sharedcli/profileflag"
@ -113,6 +114,9 @@ provides the scheduler with more accurate cluster resource information.`,
func run(ctx context.Context, opts *options.Options) error {
klog.Infof("karmada-scheduler-estimator version: %s", version.Get())
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
serveHealthzAndMetrics(opts.HealthProbeBindAddress, opts.MetricsBindAddress)
profileflag.ListenAndServe(opts.ProfileOpts)

View File

@ -39,6 +39,7 @@ import (
"github.com/karmada-io/karmada/cmd/scheduler/app/options"
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/scheduler"
"github.com/karmada-io/karmada/pkg/scheduler/framework/runtime"
"github.com/karmada-io/karmada/pkg/sharedcli"
@ -138,6 +139,8 @@ the most suitable cluster.`,
func run(opts *options.Options, stopChan <-chan struct{}, registryOptions ...Option) error {
klog.Infof("karmada-scheduler version: %s", version.Get())
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
serveHealthzAndMetrics(opts.HealthProbeBindAddress, opts.MetricsBindAddress)
profileflag.ListenAndServe(opts.ProfileOpts)

View File

@ -29,12 +29,14 @@ import (
"k8s.io/klog/v2"
controllerruntime "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/healthz"
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
"sigs.k8s.io/controller-runtime/pkg/webhook/conversion"
"github.com/karmada-io/karmada/cmd/webhook/app/options"
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
"github.com/karmada-io/karmada/pkg/sharedcli/profileflag"
@ -183,6 +185,8 @@ func Run(ctx context.Context, opts *options.Options) error {
hookServer.Register("/mutate-clusterresourcebinding", &webhook.Admission{Handler: &clusterresourcebinding.MutatingAdmission{Decoder: decoder}})
hookServer.WebhookMux().Handle("/readyz/", http.StripPrefix("/readyz/", &healthz.Handler{}))
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
// blocks until the context is done.
if err := hookManager.Start(ctx); err != nil {
klog.Errorf("webhook server exits unexpectedly: %v", err)

View File

@ -112,7 +112,6 @@ func Run(ctx context.Context, o *options.Options) error {
return err
}
// `karmada_operator_build_info` metrics for operator version upgrade
ctrlmetrics.Registry.MustRegister(versionmetrics.NewBuildInfoCollector())
controllerCtx := ctrlctx.Context{