kubernetes: kubelet: log related flags can not work

What happened:

I specify kubelet log file and find it over my config, then i add debug code:

root:[kubernetes]$ ./_output/bin/kubelet --log-file-max-size=1 --log-file=test
I0623 17:23:17.301955   21961 server.go:261] 0 flag accessed but not defined: log-file
I0623 17:23:17.302005   21961 server.go:262] 0 flag accessed but not defined: log-file-max-size

Seems flags do not parse as expected.

What you expected to happen:

Parse flag as expected.

How to reproduce it (as minimally and precisely as possible): Add following lines and build kubelet:

diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go
index d226b251ded..8bb205b7a59 100644
--- a/cmd/kubelet/app/server.go
+++ b/cmd/kubelet/app/server.go
@@ -258,6 +258,8 @@ HTTP server: The kubelet can also listen for HTTP and respond to a simple API
                        // set up stopCh here in order to be reused by kubelet and docker shim
                        stopCh := genericapiserver.SetupSignalHandler()

+                       klog.Info(cmd.Flags().GetUint("log-file"))
+                       klog.Info(cmd.Flags().GetUint("log-file-max-size"))
                        // run the kubelet
                        klog.V(5).Infof("KubeletConfiguration: %#v", kubeletServer.KubeletConfiguration)
                        if err := Run(kubeletServer, kubeletDeps, utilfeature.DefaultFeatureGate, stopCh); err != nil {

/sig cli /sig apps

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 23 (18 by maintainers)

Most upvoted comments

I run it on ubuntu18, you can try add debug lines, i can reproduce in clean containers.

@farah see that i have specified log-file.