support configuration of kube-proxy IPVS tcp,tcpfin,udp timeout

Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
This commit is contained in:
Andrew Sy Kim
2019-11-21 18:52:48 -05:00
committed by andrewsykim
parent 42fe74cd2c
commit db2c048db9
18 changed files with 134 additions and 2 deletions

View File

@@ -27,6 +27,9 @@ IPVS:
Scheduler: ""
StrictARP: false
SyncPeriod: 0s
TCPFinTimeout: 0s
TCPTimeout: 0s
UDPTimeout: 0s
MetricsBindAddress: ""
Mode: ""
NodePortAddresses: null

View File

@@ -27,6 +27,9 @@ ipvs:
scheduler: ""
strictARP: false
syncPeriod: 30s
tcpFinTimeout: 0s
tcpTimeout: 0s
udpTimeout: 0s
kind: KubeProxyConfiguration
metricsBindAddress: 127.0.0.1:10249
mode: ""

View File

@@ -27,6 +27,9 @@ IPVS:
Scheduler: ""
StrictARP: false
SyncPeriod: 30s
TCPFinTimeout: 0s
TCPTimeout: 0s
UDPTimeout: 0s
MetricsBindAddress: 127.0.0.1:10249
Mode: ""
NodePortAddresses: null

View File

@@ -27,6 +27,9 @@ ipvs:
scheduler: ""
strictARP: false
syncPeriod: 30s
tcpFinTimeout: 0s
tcpTimeout: 0s
udpTimeout: 0s
kind: KubeProxyConfiguration
metricsBindAddress: 127.0.0.1:10249
mode: ""

View File

@@ -58,6 +58,15 @@ type KubeProxyIPVSConfiguration struct {
// strict ARP configure arp_ignore and arp_announce to avoid answering ARP queries
// from kube-ipvs0 interface
StrictARP bool
// tcpTimeout is the timeout value used for idle IPVS TCP sessions.
// The default value is 0, which preserves the current timeout value on the system.
TCPTimeout metav1.Duration
// tcpFinTimeout is the timeout value used for IPVS TCP sessions after receiving a FIN.
// The default value is 0, which preserves the current timeout value on the system.
TCPFinTimeout metav1.Duration
// udpTimeout is the timeout value used for IPVS UDP packets.
// The default value is 0, which preserves the current timeout value on the system.
UDPTimeout metav1.Duration
}
// KubeProxyConntrackConfiguration contains conntrack settings for

View File

@@ -223,6 +223,9 @@ func autoConvert_v1alpha1_KubeProxyIPVSConfiguration_To_config_KubeProxyIPVSConf
out.Scheduler = in.Scheduler
out.ExcludeCIDRs = *(*[]string)(unsafe.Pointer(&in.ExcludeCIDRs))
out.StrictARP = in.StrictARP
out.TCPTimeout = in.TCPTimeout
out.TCPFinTimeout = in.TCPFinTimeout
out.UDPTimeout = in.UDPTimeout
return nil
}
@@ -237,6 +240,9 @@ func autoConvert_config_KubeProxyIPVSConfiguration_To_v1alpha1_KubeProxyIPVSConf
out.Scheduler = in.Scheduler
out.ExcludeCIDRs = *(*[]string)(unsafe.Pointer(&in.ExcludeCIDRs))
out.StrictARP = in.StrictARP
out.TCPTimeout = in.TCPTimeout
out.TCPFinTimeout = in.TCPFinTimeout
out.UDPTimeout = in.UDPTimeout
return nil
}

View File

@@ -165,6 +165,9 @@ func (in *KubeProxyIPVSConfiguration) DeepCopyInto(out *KubeProxyIPVSConfigurati
*out = make([]string, len(*in))
copy(*out, *in)
}
out.TCPTimeout = in.TCPTimeout
out.TCPFinTimeout = in.TCPFinTimeout
out.UDPTimeout = in.UDPTimeout
return
}