mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Merge pull request #44204 from FengyunPan/optimize-code
Automatic merge from submit-queue Optimize getProxyMode() to get proxy mode 1. getProxyMode() does not need nodeGetter args after remove proxy-mode annotation. 2. we should get error when the version of iptables less than MinVersion.
This commit is contained in:
commit
20dd848e7c
@ -225,7 +225,7 @@ func NewProxyServerDefault(config *options.ProxyServerConfig) (*ProxyServer, err
|
||||
var serviceHandler proxyconfig.ServiceConfigHandler
|
||||
var endpointsEventHandler proxyconfig.EndpointsHandler
|
||||
|
||||
proxyMode := getProxyMode(string(config.Mode), client.Core().Nodes(), hostname, iptInterface, iptables.LinuxKernelCompatTester{})
|
||||
proxyMode := getProxyMode(string(config.Mode), iptInterface, iptables.LinuxKernelCompatTester{})
|
||||
if proxyMode == proxyModeIPTables {
|
||||
glog.V(0).Info("Using iptables Proxier.")
|
||||
if config.IPTablesMasqueradeBit == nil {
|
||||
@ -442,19 +442,15 @@ func getConntrackMax(config *options.ProxyServerConfig) (int, error) {
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
type nodeGetter interface {
|
||||
Get(hostname string, options metav1.GetOptions) (*api.Node, error)
|
||||
}
|
||||
|
||||
func getProxyMode(proxyMode string, client nodeGetter, hostname string, iptver iptables.IPTablesVersioner, kcompat iptables.KernelCompatTester) string {
|
||||
func getProxyMode(proxyMode string, iptver iptables.IPTablesVersioner, kcompat iptables.KernelCompatTester) string {
|
||||
if proxyMode == proxyModeUserspace {
|
||||
return proxyModeUserspace
|
||||
} else if proxyMode == proxyModeIPTables {
|
||||
return tryIPTablesProxy(iptver, kcompat)
|
||||
} else if proxyMode != "" {
|
||||
glog.Warningf("Flag proxy-mode=%q unknown, assuming iptables proxy", proxyMode)
|
||||
return tryIPTablesProxy(iptver, kcompat)
|
||||
}
|
||||
|
||||
if proxyMode != "" && proxyMode != proxyModeIPTables {
|
||||
glog.Warningf("Flag proxy-mode=%q unknown, assuming iptables proxy", proxyMode)
|
||||
}
|
||||
|
||||
return tryIPTablesProxy(iptver, kcompat)
|
||||
}
|
||||
|
||||
|
@ -122,11 +122,9 @@ func Test_getProxyMode(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for i, c := range cases {
|
||||
getter := &fakeNodeInterface{}
|
||||
getter.node.Annotations = map[string]string{c.annotationKey: c.annotationVal}
|
||||
versioner := &fakeIPTablesVersioner{c.iptablesVersion, c.iptablesError}
|
||||
kcompater := &fakeKernelCompatTester{c.kernelCompat}
|
||||
r := getProxyMode(c.flag, getter, "host", versioner, kcompater)
|
||||
r := getProxyMode(c.flag, versioner, kcompater)
|
||||
if r != c.expected {
|
||||
t.Errorf("Case[%d] Expected %q, got %q", i, c.expected, r)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user