Commit Graph

1869 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
e692207857 Merge pull request #102555 from wzshiming/fix/close-modules-file
Close the used modules file
2021-06-09 14:55:26 -07:00
Andrew Sy Kim
1010e6a9d9 proxier/ipvs: fix test cases where ready endpoints were not used
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 20:14:00 -04:00
Andrew Sy Kim
8eb7e81bc9 proxy/ipvs: add unit test Test_HealthCheckNodePortWhenTerminating for ensuring health check node port fails when all local endpoints are terminating
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
ed4fe07375 proxy/iptables: add unit test Test_HealthCheckNodePortWhenTerminating for ensuring health check node port fails when all local endpoints are terminating
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
14cc201b58 proxy: add test case in TestGetLocalEndpointIPs for when all endpoints are terminating
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
3e459997c8 proxy/ipvs: add a unit tests for when the ProxyTerminatingEndpoint feature gate is disabled
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
68ebd16a2c proxier/iptables: refactor terminating endpoints unit tests with test table and test for feature gate
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
f92265f654 proxier/ipvs: check feature gate ProxyTerminatingEndpoints
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
8c514cb232 proxier/iptables: check feature gate ProxyTerminatingEndpoints
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
cf9ccf5a8e proxier/ipvs: unit tests should specify Service ports
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
d82d851d89 proxier/iptables: include Service port in unit tests
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
4c8b190372 proxier/iptables: reuse the same variable for endpointchains for better memory consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
55881093d8 proxier/ipvs: add ipvs unit tests for falling back to terminating
endpoints

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:17:43 -04:00
Andrew Sy Kim
9d4e24aa32 proxier/ipvs: fall back to ready terminating if no ready endpoint exists
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:15:40 -04:00
Andrew Sy Kim
b54c0568d8 proxier/iptables: add unit tests for falling back to terminating endpoints
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:15:40 -04:00
Andrew Sy Kim
732635fd4b proxier/iptables: fallback to terminating endpoints if there are no ready endpoints
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:15:40 -04:00
Andrew Sy Kim
be92fc83e2 proxier: simplify toplogy FilterLocalEndpoint function
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-04 15:15:40 -04:00
Andrew Sy Kim
d96af5f276 kube-proxy: remove ServiceTopology implementation
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-06-03 22:17:46 -04:00
Shiming Zhang
506fabc9ab Close the used modules file 2021-06-03 15:50:21 +08:00
Kubernetes Prow Robot
61db6e05f1 Merge pull request #100558 from yangjunmyfm192085/run-test31
Optimize the structured Logging migration.
2021-06-01 20:54:37 -07:00
刁浩 10284789
580b557592 Log spelling formatting and a redundant conversion
Signed-off-by: 刁浩 10284789 <diao.hao@zte.com.cn>
2021-05-27 07:07:22 +00:00
Kubernetes Prow Robot
8039ffc50e Merge pull request #101935 from arkbriar/kube-proxy/fix-checkout-changes-for-endpoint-slice-cache
kube-proxy: Fix EndpointSliceCache::getEndpointsMap for different endpoints with same IP
2021-05-25 19:39:20 -07:00
arkbriar
f9cb68a2b1 Fix EndpointSliceCache::getEndpointsMap for different endpoints with same IP 2021-05-24 19:00:58 +08:00
Kubernetes Prow Robot
1d38084930 Merge pull request #97796 from JornShen/proxier_ipvs_structured_logging
migrate proxy/ipvs/proxier.go logs to structured logging
2021-05-16 20:05:59 -07:00
jornshen
9c6637e231 migrate proxy/ipvs/proxier.go logs to structured logging 2021-05-17 10:02:22 +08:00
Kubernetes Prow Robot
24727b5215 Merge pull request #101690 from fenngwd/fix/ingress_ip_blank
Check IP of Ingress blank before append
2021-05-13 15:36:05 -07:00
dervoeti
a231e21e63 fixed wrong warning in kube-proxy regarding topology aware hints 2021-05-09 22:05:21 +02:00
Kubernetes Prow Robot
73c1b2e260 Merge pull request #101358 from sbangari/localendpointrefcount
Ref counting is only applicable to Remote endpoints
2021-05-04 18:21:26 -07:00
Weidong Feng
63f9b392b5 Check IP of Ingress blank before append 2021-05-01 18:54:35 +08:00
Antonio Ojea
c6d97ee156 kube-proxy copy node labels 2021-04-28 13:26:26 +02:00
Kubernetes Prow Robot
c83cd70e2e Merge pull request #97713 from thinpark/ipvs.typo
[pkg/proxy/ipvs]: fix README.md typo
2021-04-23 06:10:02 -07:00
wangyx1992
6a0452e861 cleanup: fix errors ending with punctuation in proxy
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-23 10:58:37 +08:00
Sravanth Bangari
32b2cd26c7 Ref counting is only applicable to Remote endpoints 2021-04-21 22:11:02 -07:00
Surya Seetharaman
d3fe48e848 Kube-proxy: perf-enhancement: Reduce NAT table KUBE-SERVICES/NODEPORTS chain rules
The nat KUBE-SERVICES chain is called from OUTPUT and PREROUTING stages. In
clusters with large number of services, the nat-KUBE-SERVICES chain is the largest
chain with for eg: 33k rules. This patch aims to move the KubeMarkMasq rules from
the kubeServicesChain into the respective KUBE-SVC-* chains. This way during each
packet-rule matching we won't have to traverse the MASQ rules of all services which
get accumulated in the KUBE-SERVICES and/or KUBE-NODEPORTS chains. Since the
jump to KUBE-MARK-MASQ ultimately sets the 0x400 mark for nodeIP SNAT, it should not
matter whether the jump is made from KUBE-SERVICES or KUBE-SVC-* chains.

Specifically we change:

1) For ClusterIP svc, we move the KUBE-MARK-MASQ jump rule from KUBE-SERVICES
chain into KUBE-SVC-* chain.
2) For ExternalIP svc, we move the KUBE-MARK-MASQ jump rule in the case of
non-ServiceExternalTrafficPolicyTypeLocal from KUBE-SERVICES
chain into KUBE-SVC-* chain.
3) For NodePorts svc, we move the KUBE-MARK-MASQ jump rule in case of
non-ServiceExternalTrafficPolicyTypeLocal from KUBE-NODEPORTS chain to
KUBE-SVC-* chain.
4) For load-balancer svc, we don't change anything since it is already svc specific
due to creation of KUBE-FW-* chains per svc.

This would cut the rules per svc in KUBE-SERVICES and KUBE-NODEPORTS in half.
2021-04-21 16:41:03 +02:00
Surya Seetharaman
667e50abc8 Add TestOverallIPTablesRulesWithMultipleServices 2021-04-21 16:41:03 +02:00
Kubernetes Prow Robot
6a667de8d8 Merge pull request #99448 from JornShen/use_exist_utils_nets_replace_parseExcludedCIDRs
cleanup parseExcludedCIDRs
2021-04-17 19:32:36 -07:00
Kubernetes Prow Robot
d090d17cb5 Merge pull request #101023 from Nordix/ipvs-cleanup-localhost
Disable localhost:nodeport for proxy-mode=ipvs
2021-04-16 22:22:10 -07:00
Kubernetes Prow Robot
3fec9f9bc5 Merge pull request #100636 from andrewsykim/add-uablrek-ipvs-maintainer
ipvs: add uablrek to OWNERS
2021-04-16 06:52:22 -07:00
Lars Ekman
e030621e0a Disable loopback:nodeport for proxy-mode=ipvs 2021-04-16 08:37:47 +02:00
Kubernetes Prow Robot
34909133de Merge pull request #100804 from aojea/topohints
Fix Topology Aware Hints support for Kube-Proxy
2021-04-12 01:48:00 -07:00
Kubernetes Prow Robot
eda1de301a Merge pull request #100874 from lojies/proxyiptableslog
improve the readability of log
2021-04-10 19:04:37 -07:00
Kubernetes Prow Robot
ff2a3e1147 Merge pull request #100861 from aojea/kproxy_latency
fix kube-proxy latency metrics
2021-04-10 19:03:55 -07:00
Kubernetes Prow Robot
1cedfef5c6 Merge pull request #100728 from robscott/topology-auto
Updating Topology Aware Hints to support "Auto" value for annotation
2021-04-09 05:20:38 -07:00
Kubernetes Prow Robot
6c97da72f4 Merge pull request #100599 from masap/nodeport1
Fire an event when failing to open NodePort
2021-04-09 05:19:29 -07:00
Kubernetes Prow Robot
611a2d9d54 Merge pull request #100088 from yangjunmyfm192085/run-test27
Fix TestGetNodeAddresses function error.
2021-04-08 17:11:56 -07:00
Kubernetes Prow Robot
016d1c1072 Merge pull request #99278 from yangjunmyfm192085/run-test21
Fix incorrect use of  klog.ErrorS
2021-04-08 14:27:58 -07:00
Antonio Ojea
ef76be37de kube-proxy network programming latency on restarts
kube-proxy expose the metric network_programming_duration_seconds,
that is defined as the time it takes to program the network since
a a service or pod has changed. It uses an annotation on the endpoints
/endpointslices to calculate when the endpoint was created, however,
on restarts, kube-proxy process all the endpoints again, no matter
when those were generated, polluting the metrics.

To be safe, kube-proxy will estimate the latency only for those
endpoints that were generated after it started.
2021-04-07 19:19:02 +02:00
卢振兴10069964
98d4bdb5d7 improve the readability of log 2021-04-07 15:10:05 +08:00
Antonio Ojea
1e1c4c5ac9 add node handlers to the metaproxier 2021-04-05 02:05:18 +02:00
Masashi Honma
d43b8dbf4e Use simpler expressions for error messages
1. Do not describe port type in message because lp.String() already has the
information.

2. Remove duplicate error detail from event log.
Previous log is like this.

47s         Warning   listen tcp4 :30764: socket: too many open files   node/127.0.0.1   can't open port "nodePort for default/temp-svc:834" (:30764/tcp4), skipping it: listen tcp4 :30764: socket: too many open files
2021-04-01 09:13:45 +09:00