Commit Graph

41825 Commits

Author SHA1 Message Date
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
Bowei Du
89ebf47640 Update IP address validation message to include IPv6
Adds unit test

Change-Id: I08c46f68b164e1ea82bf40f8a1316dfc1e95a6fb
2021-04-07 08:45:29 -07:00
Monis Khan
bca4993004 Update auth OWNERS files to only use aliases
Signed-off-by: Monis Khan <mok@vmware.com>
2021-04-07 10:46:03 -04:00
卢振兴10069964
98d4bdb5d7 improve the readability of log 2021-04-07 15:10:05 +08:00
Pravar Agrawal
2cf284994f implement EnqueueExtensions in interPodAffinity 2021-04-07 08:43:49 +05:30
Mengjiao Liu
5fa7f288ce Fix nil pointer dereference by changing code order 2021-04-07 10:29:53 +08:00
Monis Khan
5dd4c89df3 oidc authenticator: allow passing in CA via bytes
This change updates the OIDC authenticator code to use a subset of
the dynamiccertificates.CAContentProvider interface to provide the
root CA bytes.  This removes the hard dependency on a file based CA
and makes it easier to use this code as a library.

Signed-off-by: Monis Khan <mok@vmware.com>
2021-04-06 15:46:00 -04:00
Christian Huffman
8efa9e2f6c Updated generated dependencies 2021-04-05 16:06:17 -04:00
Christian Huffman
3bcf407d2f Addresses nitpicks for FSGroupPolicy 2021-04-05 15:45:40 -04:00
Joe Betz
29423501f0 Add apply subresource support to client-go's typed client 2021-04-05 12:27:42 -07:00
Antonio Ojea
1e1c4c5ac9 add node handlers to the metaproxier 2021-04-05 02:05:18 +02:00
Laila Kassar
a5fdad260f Update pkg/volume/azure_file/azure_provision.go
Co-authored-by: Shiming Zhang <wzshiming@foxmail.com>
2021-03-31 22:54:21 -05:00
Mike Danese
724e760721 clarify RBAC API documentation
(Resource|Verb)All are meaningless in the context of openapi spec. I saw
ResourceAll used in an RBAC policy.

Change-Id: I8ab5f230bed23be902f77cadee3fbcdec6b24064
2021-03-31 17:21:56 -07: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
Laila Kassar
7514ad4467 Normalize share name to not include capital letters 2021-03-31 23:52:36 +00:00
Masashi Honma
3266136c1d Fire an event when failing to open NodePort
[issue]
When creating a NodePort service with the kubectl create command, the NodePort
assignment may fail.

Failure to assign a NodePort can be simulated with the following malicious
command[1].

$ kubectl create service nodeport temp-svc --tcp=`python3 <<EOF
print("1", end="")
for i in range(2, 1026):
  print("," + str(i), end="")
EOF
`

The command succeeds and shows following output.

service/temp-svc created

The service has been successfully generated and can also be referenced with the
get command.

$ kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)
temp-svc     NodePort    10.0.0.139   <none>        1:31335/TCP,2:32367/TCP,3:30263/TCP,(omitted),1023:31821/TCP,1024:32475/TCP,1025:30311/TCP   12s

The user does not recognize failure to assign a NodePort because
create/get/describe command does not show any error. This is the issue.

[solution]
Users can notice errors by looking at the kube-proxy logs, but it may be difficult to see the kube-proxy logs of all nodes.

E0327 08:50:10.216571  660960 proxier.go:1286] "can't open port, skipping this nodePort" err="listen tcp4 :30641: socket: too many open files" port="\"nodePort for default/temp-svc:744\" (:30641/tcp4)"
E0327 08:50:10.216611  660960 proxier.go:1286] "can't open port, skipping this nodePort" err="listen tcp4 :30827: socket: too many open files" port="\"nodePort for default/temp-svc:857\" (:30827/tcp4)"
...
E0327 08:50:10.217119  660960 proxier.go:1286] "can't open port, skipping this nodePort" err="listen tcp4 :32484: socket: too many open files" port="\"nodePort for default/temp-svc:805\" (:32484/tcp4)"
E0327 08:50:10.217293  660960 proxier.go:1612] "Failed to execute iptables-restore" err="pipe2: too many open files ()"
I0327 08:50:10.217341  660960 proxier.go:1615] "Closing local ports after iptables-restore failure"

So, this patch will fire an event when NodePort assignment fails.
In fact, when the externalIP assignment fails, it is also notified by event.

The event will be displayed like this.

$ kubectl get event
LAST SEEN   TYPE      REASON                                            OBJECT           MESSAGE
...
2s          Warning   listen tcp4 :31055: socket: too many open files   node/127.0.0.1   can't open "nodePort for default/temp-svc:901" (:31055/tcp4), skipping this nodePort: listen tcp4 :31055: socket: too many open files
2s          Warning   listen tcp4 :31422: socket: too many open files   node/127.0.0.1   can't open "nodePort for default/temp-svc:474" (:31422/tcp4), skipping this nodePort: listen tcp4 :31422: socket: too many open files
...

This PR fixes iptables and ipvs proxier.
Since userspace proxier does not seem to be affected by this issue, it is not fixed.

[1] Assume that fd limit is 1024(default).
$ ulimit -n
1024
2021-04-01 08:27:51 +09:00
Rob Scott
50b377fe4e Updating Topology Aware Hints to support "Auto" value for annotation
Previously only "auto" was supported, a value that was inconsistent with
Kubernetes naming patterns.
2021-03-31 15:58:42 -07:00
Niekvdplas
fec272a7b2 Fixed several spelling mistakes 2021-03-30 23:02:09 +02:00
Wei Huang
e7f67b1a63 Surface kube config in scheduler framework handle 2021-03-30 11:54:59 -07:00
Andrew Sy Kim
dec775bb7a ipvs: add uablrek to OWNERS
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-03-29 14:04:51 -04:00
Kubernetes Prow Robot
9c9af69ea6 Merge pull request #100573 from pacoxu/upgrade-corefile-migration
Update the kubelet log pod status to level 6 as it is so big
2021-03-26 11:26:43 -07:00
wangyx1992
34c2b2360b fix errors in wrapped format
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-03-26 14:57:55 +08:00
Paco Xu
54606db1b4 Update pkg/kubelet/pleg/generic.go
Co-authored-by: Elana Hashman <ehashman@users.noreply.github.com>
2021-03-26 13:19:51 +08:00
ZP-AlwaysWin
b56d8dd513 Add unit test 2021-03-26 11:10:30 +08:00
pacoxu
3fc1e0891b Update the kubelet log status to level 6 as it is so big
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-03-26 10:09:20 +08:00
Kubernetes Prow Robot
01f7495b65 Merge pull request #100563 from msau42/revert-azure
Revert #97417 "fix azure file secret not found issue"
2021-03-25 14:27:46 -07:00
Michelle Au
9c169a2122 Revert "fix azure file secret not found issue"
This reverts commit 8d43976b74.

Change-Id: Iefaa0e76489883830ba1c9bdcbc3101bcc33082c
2021-03-25 09:28:50 -07:00
Daniela Lins
6c105c9e8a Linewrap for makePort calls and lint fixes
Signed-off-by: Daniela Lins <danielamlins@gmail.com>
2021-03-25 17:12:02 +01:00
Daniela Lins
22cc8dc3a8 Specify IPV4 on tweak names
Signed-off-by: Daniela Lins <danielamlins@gmail.com>
2021-03-25 16:57:11 +01:00
Daniela Lins
f4e469ee14 Standardize Namespace and Podselector tweaks
Signed-off-by: Daniela Lins <danielamlins@gmail.com>
2021-03-25 16:50:28 +01:00
Daniela Lins
5f47d0e8ef Reduce vertical space
Signed-off-by: Daniela Lins <danielamlins@gmail.com>
2021-03-25 16:41:06 +01:00
Daniela Lins
cb48e3cfca Handle int and string port in makePort
Signed-off-by: Daniela Lins <danielamlins@gmail.com>
2021-03-25 16:35:23 +01:00
Adhityaa Chandrasekar
0a21157c96 job controller: don't mutate shared cache object
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-03-25 06:36:15 +00:00
Kubernetes Prow Robot
bacce2eca6 Merge pull request #100215 from pacoxu/fix/data-race
fix a data race in volume reconciler ut #99815
2021-03-24 20:01:29 -07:00
tanjing2020
d4465b995e Scheduler: skip updates of assumed pods 2021-03-24 10:01:22 +08:00
Kubernetes Prow Robot
ea07644522 Merge pull request #99926 from gjkim42/deflake-TestWatchFileChanged
kubelet_test: Deflake TestWatchFileChanged
2021-03-23 16:30:05 -07:00
Kubernetes Prow Robot
42261726ed Merge pull request #100254 from tkashem/apf-post-start-hook-handle-error
apf PostStartHook: handle error from PollImmediateUntil
2021-03-23 12:09:36 -07:00
Jan Safranek
408d67dcc5 Fix mounting partitions on NVMe devices 2021-03-23 19:01:47 +01:00
Hemant Kumar
0c9138a204 reduce volume length for vsphere volumes further 2021-03-23 13:43:51 -04:00
Kubernetes Prow Robot
bbb58fa085 Merge pull request #100465 from chrishenzie/nil-ptr-deref-in-logs
Fix nil ptr dereference in log line
2021-03-23 09:41:36 -07:00
Kubernetes Prow Robot
be2eb33b96 Merge pull request #100438 from dims/fix-providerless-kubelet
Ensure providerless kubelet does not pull cloud providers
2021-03-23 07:49:37 -07:00
houjun
d9939a34d9 Missing return on error 2021-03-23 17:21:07 +08:00
jornshen
b1c6e70255 cleanup parseExcludedCIDRs 2021-03-23 17:15:43 +08:00
Dave Chen
a0d93cc0c8 Move NodeResourcesFit plugin args validation to apis/config/validation
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-23 16:09:53 +08:00
caiweidong
850759ec87 Preempting: do not delete the victim if it just exits in WaitingPods 2021-03-23 14:37:36 +08:00
Jiahao Huang
4621722888 Change go file mode from 755 to 644
to check all file:
find . -perm 755 | grep "\.go$"
2021-03-23 10:50:17 +08:00
Chris Henzie
f756bd5189 Fix nil ptr dereference in log line 2021-03-22 16:06:51 -07:00
Masashi Honma
39538463de test: Use bytes.Buffer.String
Fix some warnings from go-staticcheck.

"should use buffer.String() instead of string(buffer.Bytes()) (S1030)"

This warning is explained at this link.
https://staticcheck.io/docs/checks#S1030
2021-03-22 17:48:21 +09:00
Davanum Srinivas
ba56884d91 Ensure providerless kubelet does not pull cloud providers
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-03-21 21:36:38 -04:00
Jie Shen
3807a92df0 Use cmp.Diff instead of diff.Object* in pkg/api 2021-03-20 21:40:34 +08:00