diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 8d1b4e815e3..8721fd4344f 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -1112,7 +1112,9 @@ func RunKubelet(kubeServer *options.KubeletServer, kubeDeps *kubelet.Dependencie } podCfg := kubeDeps.PodConfig - rlimit.RlimitNumFiles(uint64(kubeServer.MaxOpenFiles)) + if err := rlimit.RlimitNumFiles(uint64(kubeServer.MaxOpenFiles)); err != nil { + klog.Errorf("Failed to set rlimit on max file handles: %v", err) + } // process pods and exit. if runOnce { diff --git a/pkg/util/rlimit/rlimit_linux.go b/pkg/util/rlimit/rlimit_linux.go index 17e8a713179..263fced6c4b 100644 --- a/pkg/util/rlimit/rlimit_linux.go +++ b/pkg/util/rlimit/rlimit_linux.go @@ -22,6 +22,6 @@ import ( "golang.org/x/sys/unix" ) -func RlimitNumFiles(maxOpenFiles uint64) { - unix.Setrlimit(unix.RLIMIT_NOFILE, &unix.Rlimit{Max: maxOpenFiles, Cur: maxOpenFiles}) +func RlimitNumFiles(maxOpenFiles uint64) error { + return unix.Setrlimit(unix.RLIMIT_NOFILE, &unix.Rlimit{Max: maxOpenFiles, Cur: maxOpenFiles}) }