Merge pull request #102122 from Nordix/conn_reuse_mode

Don't set sysctl net.ipv4.vs.conn_reuse_mode for kernels >=5.9
This commit is contained in:
Kubernetes Prow Robot 2021-07-08 14:01:19 -07:00 committed by GitHub
commit b814b83392
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -91,6 +91,9 @@ const (
DefaultDummyDevice = "kube-ipvs0" DefaultDummyDevice = "kube-ipvs0"
connReuseMinSupportedKernelVersion = "4.1" connReuseMinSupportedKernelVersion = "4.1"
// https://github.com/torvalds/linux/commit/35dfb013149f74c2be1ff9c78f14e6a3cd1539d1
connReuseFixedKernelVersion = "5.9"
) )
// iptablesJumpChain is tables of iptables chains that ipvs proxier used to install iptables or cleanup iptables. // iptablesJumpChain is tables of iptables chains that ipvs proxier used to install iptables or cleanup iptables.
@ -376,6 +379,9 @@ func NewProxier(ipt utiliptables.Interface,
} }
if kernelVersion.LessThan(version.MustParseGeneric(connReuseMinSupportedKernelVersion)) { if kernelVersion.LessThan(version.MustParseGeneric(connReuseMinSupportedKernelVersion)) {
klog.ErrorS(nil, fmt.Sprintf("can't set sysctl %s, kernel version must be at least %s", sysctlConnReuse, connReuseMinSupportedKernelVersion)) klog.ErrorS(nil, fmt.Sprintf("can't set sysctl %s, kernel version must be at least %s", sysctlConnReuse, connReuseMinSupportedKernelVersion))
} else if kernelVersion.AtLeast(version.MustParseGeneric(connReuseFixedKernelVersion)) {
// https://github.com/kubernetes/kubernetes/issues/93297
klog.V(2).InfoS("Left as-is", "sysctl", sysctlConnReuse)
} else { } else {
// Set the connection reuse mode // Set the connection reuse mode
if err := utilproxy.EnsureSysctl(sysctl, sysctlConnReuse, 0); err != nil { if err := utilproxy.EnsureSysctl(sysctl, sysctlConnReuse, 0); err != nil {