Merge pull request #129072 from kannon92/add-validation-container-log-max

add kubelet validation for containerLogMaxFiles
This commit is contained in:
Kubernetes Prow Robot 2024-12-12 16:44:35 +01:00 committed by GitHub
commit c3d0002303
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 0 deletions

View File

@ -342,6 +342,10 @@ func ValidateKubeletConfiguration(kc *kubeletconfig.KubeletConfiguration, featur
allErrors = append(allErrors, fmt.Errorf("invalid configuration: containerLogMonitorInterval must be a positive time duration greater than or equal to 3s")) allErrors = append(allErrors, fmt.Errorf("invalid configuration: containerLogMonitorInterval must be a positive time duration greater than or equal to 3s"))
} }
if kc.ContainerLogMaxFiles <= 1 {
allErrors = append(allErrors, fmt.Errorf("invalid configuration: containerLogMaxFiles must be greater than 1"))
}
if kc.PodLogsDir == "" { if kc.PodLogsDir == "" {
allErrors = append(allErrors, fmt.Errorf("invalid configuration: podLogsDir was not specified")) allErrors = append(allErrors, fmt.Errorf("invalid configuration: podLogsDir was not specified"))
} }

View File

@ -79,6 +79,7 @@ var (
}, },
ContainerRuntimeEndpoint: "unix:///run/containerd/containerd.sock", ContainerRuntimeEndpoint: "unix:///run/containerd/containerd.sock",
ContainerLogMaxWorkers: 1, ContainerLogMaxWorkers: 1,
ContainerLogMaxFiles: 5,
ContainerLogMonitorInterval: metav1.Duration{Duration: 10 * time.Second}, ContainerLogMonitorInterval: metav1.Duration{Duration: 10 * time.Second},
SingleProcessOOMKill: ptr.To(!kubeletutil.IsCgroup2UnifiedMode()), SingleProcessOOMKill: ptr.To(!kubeletutil.IsCgroup2UnifiedMode()),
CrashLoopBackOff: kubeletconfig.CrashLoopBackOffConfig{ CrashLoopBackOff: kubeletconfig.CrashLoopBackOffConfig{
@ -700,6 +701,13 @@ func TestValidateKubeletConfiguration(t *testing.T) {
return config return config
}, },
errMsg: `invalid configuration: pod logs path "/🧪" mut contains ASCII characters only`, errMsg: `invalid configuration: pod logs path "/🧪" mut contains ASCII characters only`,
}, {
name: "invalid containerLogMaxFiles",
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
conf.ContainerLogMaxFiles = 1
return conf
},
errMsg: "invalid configuration: containerLogMaxFiles must be greater than 1",
}, { }, {
name: "invalid ContainerRuntimeEndpoint", name: "invalid ContainerRuntimeEndpoint",
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration { configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {