diff --git a/cmd/device-monitor/options/options.go b/cmd/device-monitor/options/options.go index a03b02b..4c6ef12 100644 --- a/cmd/device-monitor/options/options.go +++ b/cmd/device-monitor/options/options.go @@ -71,6 +71,11 @@ func NewOptions() *Options { func (o *Options) InitFlags(fs *flag.FlagSet) { klog.InitFlags(fs) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + _ = fs.Set("legacy_stderr_threshold_behavior", "false") + _ = fs.Set("stderrthreshold", "INFO") pflag.CommandLine.SortFlags = false pflag.StringVar(&o.KubeConfigFile, "kubeconfig", o.KubeConfigFile, "Path to a kubeconfig. Only required if out-of-cluster.") pflag.StringVar(&o.MasterURL, "master", o.MasterURL, "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") diff --git a/cmd/device-plugin/options/options.go b/cmd/device-plugin/options/options.go index ac86997..7d0159a 100644 --- a/cmd/device-plugin/options/options.go +++ b/cmd/device-plugin/options/options.go @@ -126,6 +126,11 @@ func NewOptions() *Options { func (o *Options) InitFlags(fs *flag.FlagSet) { klog.InitFlags(fs) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + _ = fs.Set("legacy_stderr_threshold_behavior", "false") + _ = fs.Set("stderrthreshold", "INFO") pflag.CommandLine.SortFlags = false pflag.StringVar(&o.KubeConfigFile, "kubeconfig", o.KubeConfigFile, "Path to a kubeconfig. Only required if out-of-cluster.") pflag.StringVar(&o.MasterURL, "master", o.MasterURL, "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") diff --git a/cmd/device-scheduler/options/options.go b/cmd/device-scheduler/options/options.go index 03fa3ad..4487cff 100644 --- a/cmd/device-scheduler/options/options.go +++ b/cmd/device-scheduler/options/options.go @@ -78,6 +78,11 @@ func NewOptions() *Options { func (o *Options) InitFlags(fs *flag.FlagSet) { klog.InitFlags(fs) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + _ = fs.Set("legacy_stderr_threshold_behavior", "false") + _ = fs.Set("stderrthreshold", "INFO") pflag.CommandLine.SortFlags = false pflag.StringVar(&o.KubeConfigFile, "kubeconfig", o.KubeConfigFile, "Path to a kubeconfig. Only required if out-of-cluster.") pflag.StringVar(&o.MasterURL, "master", o.MasterURL, "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") diff --git a/cmd/device-webhook/options/options.go b/cmd/device-webhook/options/options.go index 2ac0955..5ef622b 100644 --- a/cmd/device-webhook/options/options.go +++ b/cmd/device-webhook/options/options.go @@ -42,6 +42,11 @@ var version bool func (o *Options) InitFlags(fs *flag.FlagSet) { klog.InitFlags(fs) + // Opt into the new klog behavior so that -stderrthreshold is honored even + // when -logtostderr=true (the default). + // Ref: kubernetes/klog#212, kubernetes/klog#432 + _ = fs.Set("legacy_stderr_threshold_behavior", "false") + _ = fs.Set("stderrthreshold", "INFO") pflag.CommandLine.SortFlags = false pflag.StringVar(&o.SchedulerName, "scheduler-name", o.SchedulerName, "Specify scheduler name and automatically set it to vGPU pod.") pflag.IntVar(&o.ServerBindPort, "server-bind-port", o.ServerBindPort, "The port on which the server listens.") diff --git a/go.mod b/go.mod index 388610a..af3406b 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( k8s.io/component-base v0.34.2 k8s.io/cri-api v0.34.2 k8s.io/dynamic-resource-allocation v0.34.2 - k8s.io/klog/v2 v2.130.1 + k8s.io/klog/v2 v2.140.0 k8s.io/kube-scheduler v0.34.2 k8s.io/kubectl v0.34.2 k8s.io/kubelet v0.34.2 diff --git a/go.sum b/go.sum index fb92c8d..ddf4ae4 100644 --- a/go.sum +++ b/go.sum @@ -285,8 +285,8 @@ k8s.io/cri-client v0.34.2 h1:uALtvKgk5qu6owHHvyE2QMqYlfZWGeIB/eO5pboKeIY= k8s.io/cri-client v0.34.2/go.mod h1:hwqCdHW06vOPxHB6BQDTMCXkUDxJYMTnlWJxTO0kWtU= k8s.io/dynamic-resource-allocation v0.34.2 h1:SjlRGSWl6CZXoJwQNL+Y0wRfdH8PkJ4mHRNK6MMj0bY= k8s.io/dynamic-resource-allocation v0.34.2/go.mod h1:ul6I+gfrCmC+OCuVdN0/iykyB2sPrIqh2WyKQ3RQPCU= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= k8s.io/kube-scheduler v0.34.2 h1:TtLcaXeIpkqgzMr2ch7Ap8Cluq4M182XUDRlnOPDdoc=