Commit Graph

46344 Commits

Author SHA1 Message Date
Moshe Levi
ce46ba7be8 kubelet podresource: fix GetAllocatableResources metrics
The GetAllocatableResources increase twice the PodResourcesEndpointRequestsTotalCount
This PR fix this.

Signed-off-by: Moshe Levi <moshele@nvidia.com>
2023-01-04 10:58:55 +02:00
Kubernetes Prow Robot
3f752b5edf Merge pull request #114629 from kerthcet/feat/change-return-type-of-Filter
Modify the return type of RunFilterPlugins to *Status
2023-01-03 15:31:31 -08:00
Kubernetes Prow Robot
5914f30fd7 Merge pull request #114757 from danwinship/drop-endpointstracker
Drop unused Endpoints-tracking code from pkg/proxy/
2023-01-03 10:35:35 -08:00
Kubernetes Prow Robot
12c71fdf1c Merge pull request #113542 from ardaguclu/fix-shortname-disperancy
Set singular names for core types to pass to discovery
2023-01-03 09:29:43 -08:00
Kubernetes Prow Robot
b532f2b3e7 Merge pull request #112136 from pacoxu/migrate-runtime-endpoint-flags
kubelet: migrate container runtime endpoint flag to config
2023-01-03 09:29:31 -08:00
Michal Wozniak
c3d0e8ff05 Fix clearing rate limiter in disruption controller 2023-01-03 15:06:06 +01:00
Dan Winship
fe2b658ef5 Drop unused Endpoints-only tracking code in kube-proxy
This leaves the code in a somewhat messy state but it can be improved
further later.
2023-01-03 09:03:49 -05:00
Dan Winship
c78b057d85 Port TestUpdateEndpointsMap from Endpoints tracker to EndpointSlice
This is an ugly-but-simple rewrite (particularly involving having to
rewrite "single Endpoints with multiple Subsets" as "multiple
EndpointSlices"). Can be cleaned up more later...

The slice code sorts the results slightly differently from the old
code in two cases, and it was simpler to just reorder the expectations
rather than fixing the comparison code. But other than that, the
expected results are exactly the same as before.
2023-01-03 09:03:46 -05:00
Dan Winship
cc1847e6ee Port TestLastChangeTriggerTime from Endpoints tracker to EndpointSlice
This exposed a bug in the EndpointSlice tracking code, which is that
we didn't properly reset the "last change time" when a slice was
deleted. (This means kube-proxy would report an erroneous value in the
"endpoint programming time" metric if a service was added/updated,
then deleted before kube-proxy processed the add/update, then later
added again.)
2023-01-03 09:03:34 -05:00
Dan Winship
169604d906 Validate single-stack --nodeport-addresses sooner
In the dual-stack case, iptables.NewDualStackProxier and
ipvs.NewDualStackProxier filtered the nodeport addresses values by IP
family before creating the single-stack proxiers. But in the
single-stack case, the kube-proxy startup code just passed the value
to the single-stack proxiers without validation, so they had to
re-check it themselves. Fix that.
2023-01-03 09:01:45 -05:00
Dan Winship
e7ed7220eb Explicitly pass IP family to proxier
Rather than re-determining it from the iptables object in both proxies.
2023-01-03 09:01:45 -05:00
Jan Safranek
e743a6d14d Allow SecretReference.Name in PVs to have 253 characters
PV.Spec.CSI.*SecretReference.Name should be allowed to have up to be
limited to 253 characters (DNS1123Subdomain) and not to 63 characters
(DNS1123Label), so all possible Secrets names can be used as secrets in a
PV.

This is continuation of
https://github.com/kubernetes/kubernetes/pull/108331 / Kubernetes 1.25,
which allowed updating PVs with long secret names, if the previous PV had
long secret name too. This makes sure downgrade from 1.27 to 1.26 works well
and allows PVs created in 1.27 to be updated in 1.26.

Now the long secret names are accepted during PV creation too.
2023-01-03 14:35:35 +01:00
Kante Yin
49e7e80999 Modify the return type of RunFilterPlugins to *Status
Before, the return type of RunFilterPlugins is a Map, but considering we'll return immediately
once we met unsuccessful status, this is not necessary.

Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-03 14:33:58 +08:00
Kubernetes Prow Robot
6dc493bb83 Merge pull request #114750 from aojea/cleanup_allocator
refactor current ipallocator
2023-01-02 14:57:31 -08:00
Kubernetes Prow Robot
7759fdb940 Merge pull request #114528 from mpatlasov/fix-specModified-check
Fix installDriverToCSINode(): do not skip CSINode update if Allocatable.Count changed
2023-01-02 10:25:30 -08:00
xin.li
10ca605cdd chroe: add k8s node-role.kubernetes.io/control-plane taint
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-01-02 21:04:43 +08:00
Katarzyna Lach
249f763c7e Generate warning for EndpointSlice AddressType FQDN
Change-Id: Ibc213acdffa741e630821f371ea25e2b5187a011
2023-01-02 10:00:01 +00:00
Dan Winship
2ea105df63 Drop unused EndpointsHandler / EndpointsConfig from pkg/proxy/config
(Also NoopEndpointSliceHandler since it's no longer possible for a
proxy implementation to no-op EndpointSlice handling.)
2023-01-01 16:57:27 -05:00
Dan Winship
3da93e1fe4 "Port" HollowProxy from Endpoints to EndpointSlice 2023-01-01 16:57:25 -05:00
sorkinl
71d44a9348 Refactors kubelet's plugin watcher
Refactors platform specific code into separate files (*_linux.go / *_windows.go / *_others.go)

Adds unit tests for the pluginwatcher changes.
2023-01-01 00:26:37 +00:00
Claudiu Belu
96e99f564a tests: Ports volume unit tests to Windows (part 2)
Ports the metrics_du unit tests to Windows.
Ports the hostutil unit tests to Windows.
2023-01-01 00:18:31 +00:00
Dan Winship
886c4b0cf2 Drop Endpoints-tracking-specific TestEndpointsToEndpointsMap
TestEndpointsToEndpointsMap tested code that only ran when using
Endpoints tracking rather than EndpointSlice tracking--which is to
say, never, any more. (TestEndpointsMapFromESC in
endpointslicecache_test.go is an equivalent EndpointSlice test.)
2022-12-31 12:03:23 -05:00
Antonio Ojea
29ea5076ea refactor current ipallocator
- rename files to match the allocator backend
- use t.Run for tests and cover large ranges
- add benchmarks
- check that thebitmap ip allocator satisfies the interface

goos: linux
goarch: amd64

pkg: k8s.io/kubernetes/pkg/registry/core/service/ipallocator
cpu: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
BenchmarkAllocateNextIPv4Size1048574
BenchmarkAllocateNextIPv4Size1048574-24    	 1517683
7373 ns/op	     135 B/op	       8 allocs/op
BenchmarkAllocateNextIPv6Size65535
BenchmarkAllocateNextIPv6Size65535-24      	 5607438
193.9 ns/op	      18 B/op	       2 allocs/op
PASS
2022-12-31 12:48:50 +00:00
Dan Winship
df7e4a9432 Belatedly port pkg/proxy/config Endpoints unit tests to EndpointSlice 2022-12-30 19:51:35 -05:00
Kushagra
80384bbb55 spelling mistake rectified 2022-12-29 17:55:17 +00:00
Kushagra
f380ef8b61 Misleading message when there are no metrics. 2022-12-29 10:57:43 +00:00
Quan Tian
a5790d5caa Do not log errors when ServiceHealthServer is closed normally
Server.Serve() always returns a non-nil error. If it exits because the
http server is closed, it will return ErrServerClosed. To differentiate
the error, this patch changes to close the http server instead of the
listener when the Service is deleted. Closing http server automatically
closes the listener, there is no need to cache the listeners any more.

Signed-off-by: Quan Tian <qtian@vmware.com>
2022-12-29 17:11:29 +08:00
Paco Xu
160f015ef4 kubelet: add key encipherment usage only if it is rsa key
remove allowOmittingUsageKeyEncipherment as it is always true

Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-27 16:04:25 +08:00
Kubernetes Prow Robot
68b96575a2 Merge pull request #114669 from Nordix/ipvs-remove-module-check
Ipvs: remove module check
2022-12-26 10:09:27 -08:00
Paco Xu
3ace3eb74b certificates default to tolerate no key encipherment 2022-12-26 23:15:21 +08:00
Tim Hockin
7c7d79b058 Make the warning about pod name clearer
Previously this was cut-paste from deployment.  It didn't make much
sense for pod.
2022-12-25 14:20:55 -08:00
Kubernetes Prow Robot
685d639cb5 Merge pull request #114464 from Nordix/issue-114461
Set permissions for timestamp directory before publishing update to avoid permission denied
2022-12-24 16:11:26 -08:00
Lars Ekman
5ff705fd77 proxy/ipvs: Describe and handle a bug in moby/ipvs
Handle https://github.com/moby/ipvs/issues/27
A work-around was already in place, but a segv would occur
when the bug is fixed. That will not happen now.
2022-12-24 10:21:27 +01:00
Tero Saarni
96306f144a Set permissions on volume before publishing update
This change fixes a race condition that was caused by setting the file owner,
group and mode non-atomically, after the updated files had been published.

Users who were running non-root containers, without GID 0 permissions, and
had removed read permissions from other users by setting defaultMode: 0440 or
similar, were getting intermittent permission denied errors when accessing
files on secret or configmap volumes or service account tokens on projected
volumes during update.
2022-12-24 07:59:41 +02:00
Kubernetes Prow Robot
05ecc3d602 Merge pull request #114683 from thockin/remove_old_comment_proxy_valid_pod_addr
Remove TODO about API proxy checking for svc
2022-12-23 15:37:37 -08:00
Kubernetes Prow Robot
e96337606d Merge pull request #114681 from thockin/nix_comments_about_ipv6_not_ready
Remove old comments about IPv6 not being ready
2022-12-23 15:37:26 -08:00
Kubernetes Prow Robot
0b05897c30 Merge pull request #112021 from mrunalp/test_host_path_pv_selinux_fix
Set correct SELinux label for host paths volumes created by host path provisioner
2022-12-23 12:35:27 -08:00
Tim Hockin
ed3ebbaaa7 Remove TODO about API proxy checking for svc 2022-12-23 12:32:17 -08:00
Tim Hockin
57b9656e2b Remove old comments about IPv6 not being ready 2022-12-23 11:06:44 -08:00
Lars Ekman
68d78c89ec use netutils.ParseIPSloppy 2022-12-23 14:19:28 +01:00
Lars Ekman
dc86bdc3aa Handle an empty scheduler ("") 2022-12-23 13:23:02 +01:00
Lars Ekman
90c03dcf9a gofmt 2022-12-23 12:34:31 +01:00
Lars Ekman
4ef7726c4e Remove obsolete test case 2022-12-23 11:46:45 +01:00
Lars Ekman
4adc687275 Fixed typo 2022-12-23 11:13:55 +01:00
Lars Ekman
cf214d0738 Clean-up un-used code 2022-12-23 10:54:51 +01:00
Lars Ekman
3bd3759424 gofmt 2022-12-23 10:14:47 +01:00
Lars Ekman
b169f22eb8 Updates after rewiew
To update the scheduler without node reboot now works.
The address for the probe VS is now 198.51.100.0 which is
reseved for documentation, please see rfc5737. The comment
about this is extended.
2022-12-23 10:11:15 +01:00
Kubernetes Prow Robot
45f14a93f1 Merge pull request #113787 from gjkim42/update-daemonset-status-despite-error
Update daemonSet status even if syncDaemonSet fails
2022-12-22 15:49:25 -08:00
Kubernetes Prow Robot
07801383af Merge pull request #114503 from TommyStarK/unit-tests/pkg-kubeapiserver-admission
kubeapiserver/admission: Improving test coverage
2022-12-22 14:05:26 -08:00
Lars Ekman
cd15ca0548 proxy/ipvs: Check that a dummy virtual server can be added
This tests both ipvs and the configured scheduler
2022-12-22 20:36:53 +01:00