Merge pull request #126953 from aroradaman/kubeadm-pre-flight-remove-conntrack

kubeadm: remove preflight check for existence of conntrack binary
This commit is contained in:
Kubernetes Prow Robot 2024-10-22 22:36:51 +01:00 committed by GitHub
commit 6568b4bdb3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 4 deletions

View File

@ -1084,7 +1084,7 @@ func addCommonChecks(execer utilsexec.Interface, k8sVersion string, nodeReg *kub
// non-windows checks
checks = addSwapCheck(checks)
checks = addExecChecks(checks, execer)
checks = addExecChecks(checks, execer, k8sVersion)
checks = append(checks,
SystemVerificationCheck{},
HostnameCheck{nodeName: nodeReg.Name},

View File

@ -24,6 +24,7 @@ import (
"github.com/pkg/errors"
utilversion "k8s.io/apimachinery/pkg/util/version"
system "k8s.io/system-validators/validators"
utilsexec "k8s.io/utils/exec"
)
@ -72,9 +73,16 @@ func addSwapCheck(checks []Checker) []Checker {
}
// addExecChecks adds checks that verify if certain binaries are in PATH
func addExecChecks(checks []Checker, execer utilsexec.Interface) []Checker {
func addExecChecks(checks []Checker, execer utilsexec.Interface, k8sVersion string) []Checker {
// For k8s >= 1.32.0, kube-proxy no longer depends on conntrack to be present in PATH
// (ref: https://github.com/kubernetes/kubernetes/pull/126952)
if v, err := utilversion.ParseSemantic(k8sVersion); err == nil {
if v.LessThan(utilversion.MustParseSemantic("1.32.0")) {
checks = append(checks, InPathCheck{executable: "conntrack", mandatory: true, exec: execer})
}
}
checks = append(checks,
InPathCheck{executable: "conntrack", mandatory: true, exec: execer},
InPathCheck{executable: "ip", mandatory: true, exec: execer},
InPathCheck{executable: "iptables", mandatory: true, exec: execer},
InPathCheck{executable: "mount", mandatory: true, exec: execer},

View File

@ -50,6 +50,6 @@ func addSwapCheck(checks []Checker) []Checker {
// addExecChecks adds checks that verify if certain binaries are in PATH
// No-op for Darwin (MacOS), Windows.
func addExecChecks(checks []Checker, _ utilsexec.Interface) []Checker {
func addExecChecks(checks []Checker, _ utilsexec.Interface, _ string) []Checker {
return checks
}