@@ -21,9 +21,12 @@ import (
21
21
22
22
"github.com/spf13/cobra"
23
23
cliflag "k8s.io/component-base/cli/flag"
24
+ "k8s.io/component-base/logs"
25
+ logsv1 "k8s.io/component-base/logs/api/v1"
24
26
"k8s.io/component-base/term"
25
27
26
28
"github.com/karmada-io/karmada/cmd/aggregated-apiserver/app/options"
29
+ "github.com/karmada-io/karmada/pkg/features"
27
30
"github.com/karmada-io/karmada/pkg/sharedcli"
28
31
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
29
32
"github.com/karmada-io/karmada/pkg/util/names"
@@ -33,12 +36,30 @@ import (
33
36
// NewAggregatedApiserverCommand creates a *cobra.Command object with default parameters
34
37
func NewAggregatedApiserverCommand (ctx context.Context ) * cobra.Command {
35
38
opts := options .NewOptions ()
39
+ logConfig := logsv1 .NewLoggingConfiguration ()
40
+ fss := cliflag.NamedFlagSets {}
41
+
42
+ // Set klog flags
43
+ logsFlagSet := fss .FlagSet ("logs" )
44
+ logs .AddFlags (logsFlagSet , logs .SkipLoggingConfigurationFlags ())
45
+ logsv1 .AddFlags (logConfig , logsFlagSet )
46
+ klogflag .Add (logsFlagSet )
47
+
48
+ genericFlagSet := fss .FlagSet ("generic" )
49
+ opts .AddFlags (genericFlagSet )
36
50
37
51
cmd := & cobra.Command {
38
52
Use : names .KarmadaAggregatedAPIServerComponentName ,
39
53
Long : `The karmada-aggregated-apiserver starts an aggregated server.
40
54
It is responsible for registering the Cluster API and provides the ability to aggregate APIs,
41
55
allowing users to access member clusters from the control plane directly.` ,
56
+ PersistentPreRunE : func (_ * cobra.Command , _ []string ) error {
57
+ if err := logsv1 .ValidateAndApply (logConfig , features .FeatureGate ); err != nil {
58
+ return err
59
+ }
60
+ logs .InitLogs ()
61
+ return nil
62
+ },
42
63
RunE : func (_ * cobra.Command , _ []string ) error {
43
64
if err := opts .Complete (); err != nil {
44
65
return err
@@ -53,15 +74,6 @@ allowing users to access member clusters from the control plane directly.`,
53
74
},
54
75
}
55
76
56
- fss := cliflag.NamedFlagSets {}
57
-
58
- genericFlagSet := fss .FlagSet ("generic" )
59
- opts .AddFlags (genericFlagSet )
60
-
61
- // Set klog flags
62
- logsFlagSet := fss .FlagSet ("logs" )
63
- klogflag .Add (logsFlagSet )
64
-
65
77
cmd .AddCommand (sharedcommand .NewCmdVersion (names .KarmadaAggregatedAPIServerComponentName ))
66
78
cmd .Flags ().AddFlagSet (genericFlagSet )
67
79
cmd .Flags ().AddFlagSet (logsFlagSet )
0 commit comments