Commit Graph

11418 Commits

Author SHA1 Message Date
Patrick Ohly
b51d68bb87 DRA: bump API v1alpha2 -> v1alpha3
This is in preparation for revamping the resource.k8s.io completely. Because
there will be no support for transitioning from v1alpha2 to v1alpha3, the
roundtrip test data for that API in 1.29 and 1.30 gets removed.

Repeating the version in the import name of the API packages is not really
required. It was done for a while to support simpler grepping for usage of
alpha APIs, but there are better ways for that now. So during this transition,
"resourceapi" gets used instead of "resourcev1alpha3" and the version gets
dropped from informer and lister imports. The advantage is that the next bump
to v1beta1 will affect fewer source code lines.

Only source code where the version really matters (like API registration)
retains the versioned import.
2024-07-21 17:28:13 +02:00
Kubernetes Prow Robot
558c9536a1 Merge pull request #123678 from kinvolk/userns-use-kubelet-user-mappings
kubelet: Add logs for userns custom mappings parsing
2024-07-20 19:59:57 -07:00
Kubernetes Prow Robot
a8d354bf39 Merge pull request #126122 from HirazawaUi/remove-unused-options
kubelet: Remove unused run container options
2024-07-19 18:05:16 -07:00
Kubernetes Prow Robot
14b34fc255 Merge pull request #125834 from tallclair/log-cleanup
[kubelet] Cleanup incorrect log about static pod status change
2024-07-19 16:58:54 -07:00
Kubernetes Prow Robot
ec8015daac Merge pull request #124273 from panoswoo/fix/124255
Remove missing extended resources from init containers
2024-07-19 15:29:53 -07:00
Kubernetes Prow Robot
27fa59a8af Merge pull request #125656 from gyuho/recent-stats-check-error-for-error-level-logging
feat(kubelet/stats): match cadvisor error to lower not found stats log level
2024-07-18 19:24:01 -07:00
Kubernetes Prow Robot
f2428d66cc Merge pull request #125163 from pohly/dra-kubelet-api-version-independent-no-rest-proxy
DRA: make kubelet independent of the resource.k8s.io API version
2024-07-18 17:47:48 -07:00
Kubernetes Prow Robot
5fc7032a0e Merge pull request #126156 from pohly/kubelet-test-enhancements
kubelet test enhancements
2024-07-18 14:50:54 -07:00
Kubernetes Prow Robot
fa7fcde5a4 Merge pull request #125813 from aojea/node_csr_ips
Node Request Certificates require to have IPs
2024-07-18 14:50:48 -07:00
Patrick Ohly
7701a48bd6 dra kubelet: bump gRPC API to v1alpha4
The previous changes are an API break, therefore we need a new version.
2024-07-18 23:30:09 +02:00
Kubernetes Prow Robot
601eb7e9cf Merge pull request #122922 from marosset/windows-memory-eviction
Add support for Windows memory-pressure eviction
2024-07-18 10:39:06 -07:00
Antonio Ojea
bc63c412b9 kubelet request certificates if at least one IP exist
A Kubernetes Node requires to have at minimum one IP address
because those are used on the Pods field HostIPs and in some cases,
when pods uses hostNetwork: true, as PodIPs.
Nodes that use IP addresses as Hostname are interpreted as an IP
address, so it is possible that are nodes that don't hane any DNSname.

The feature gate AllowDNSOnlyNodeCSR will allow user to opt-in for
the old behavior.

Change-Id: I094531d87246f1e7a5ef4fe57bd5d9840cb1375d
2024-07-18 09:44:48 +00:00
Kubernetes Prow Robot
9196650533 Merge pull request #123819 from fakecore/fc/master
fix: handle socket file detection on Windows
2024-07-18 00:53:16 -07:00
Patrick Ohly
348f94ab55 DRA: read ResourceClaim in DRA drivers
This is the second and final step towards making kubelet independent of the
resource.k8s.io API versioning because it now doesn't need to copy structs
defined by that API from the driver to the API server.
2024-07-18 09:09:20 +02:00
Patrick Ohly
616a014347 DRA: move ResourceSlice publishing into DRA drivers
This is a first step towards making kubelet independent of the resource.k8s.io
API versioning because it now doesn't need to copy structs defined by that API
from the driver to the API server. The next step is removing the other
direction (reading ResourceClaim status and passing the resource handle to
drivers).

The drivers must get deployed so that they have their own connection to the API
server. Securing at least the writes via a validating admission policy should
be possible.

As before, the kubelet removes all ResourceSlices for its node at startup, then
DRA drivers recreate them if (and only if) they start up again. This ensures
that there are no orphaned ResourceSlices when a driver gets removed while the
kubelet was down.

While at it, logging gets cleaned up and updated to use structured, contextual
logging as much as possible. gRPC requests and streams now use a shared,
per-process request ID and streams also get logged.
2024-07-18 09:09:19 +02:00
Mark Rossetti
0411a3d565 Add support for memory pressure evictiong on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2024-07-17 15:11:30 -07:00
Kubernetes Prow Robot
5d40866fae Merge pull request #125994 from carlory/fix-job-api
clean up codes after PodDisruptionConditions was promoted to GA
2024-07-17 14:37:09 -07:00
Patrick Ohly
6604ff94d8 kubelet: enhance podresources tests
The manual deep comparison code is hard to maintain (would need to be updated
in https://github.com/kubernetes/kubernetes/pull/125488) and error prone.

In fact, one test case failed when doing a full automatic comparison with
cmp.Diff because it wasn't setting allMemory.
2024-07-17 17:50:10 +02:00
Patrick Ohly
b9d00841a6 kubelet: improve checkpoint errors
Recording the expected and actual checksum in the error makes it possible to
provide that information, for example in a failed test like the ones for DRA.
Otherwise developers have to manually step through the test with a debugger to
figure out what the new checksum is.
2024-07-17 16:07:31 +02:00
Kubernetes Prow Robot
52c0ed4673 Merge pull request #124342 from zhifei92/fix-error-check
fix error checking in kl.killPod within SyncPod
2024-07-16 16:05:07 -07:00
Kubernetes Prow Robot
fc3abdaf2d Merge pull request #125470 from everpeace/kep-3619-SupplementalGroupsPolicy-e2e
KEP-3619: Add NodeStatus.Features.SupplementalGroupsPolicy API and e2e
2024-07-16 13:57:06 -07:00
Kubernetes Prow Robot
9c763a9c9f Merge pull request #126104 from cji/5321
Add funcs in pkg/filesystem/util to set file permissions on Windows and update container log dir perms
2024-07-16 10:33:05 -07:00
HirazawaUi
0dbf1d3ceb remove kubelet unused run container options 2024-07-16 20:43:02 +08:00
SataQiu
716d66cdf3 kubelet: adjust the validation logic to treat [none] as the EnforceNodeAllocatable is disabled 2024-07-16 18:36:38 +08:00
Shingo Omura
f46ecf5648 KEP-3619: Wiring up from RuntimeFeatures.SupplementalGroupsPolicy(CRI) to NodeFeatures.SupplementalGroupsPolicy(API)
KEP-3619: fix typos in pkg/kubelet/container/runtime.go
2024-07-16 12:36:00 +09:00
Kubernetes Prow Robot
2263f2d719 Merge pull request #124148 from cyclinder/add_flag_kubelet
kubelet: Add a TopologyManager policy option: max-allowable-numa-nodes
2024-07-15 19:27:16 -07:00
Kubernetes Prow Robot
eb9b928c23 Merge pull request #123137 from neolit123/1.30-update-kubelet-validation-fields
kubelet: warn instead of error for unsupported options on Windows
2024-07-15 19:27:09 -07:00
Kubernetes Prow Robot
f36a821de8 Merge pull request #126034 from sohankunkerkar/add-usernamespaces
api: add user namespaces field to NodeRuntimeHandlerFeatures
2024-07-15 16:41:17 -07:00
Kubernetes Prow Robot
5427708866 Merge pull request #125404 from mimowo/fix-kubelet-podip
Fix that PodIP field is temporarily removed for a terminal pod
2024-07-15 16:41:10 -07:00
Mark Rossetti
b377dfba0c Add funcs in pkg/filesystem/util that can actually set file permissiosn
on Windows and update container log dir perms to 660 on Windows
2024-07-15 14:22:59 -07:00
Peter Hunt
86240aaca1 api: add user namespaces field to NodeRuntimeHandlerFeatures
Signed-off-by: Sohan Kunkerkar <sohank2602@gmail.com>
2024-07-15 15:55:39 -04:00
Kubernetes Prow Robot
3361895612 Merge pull request #123733 from Jeffwan/jiaxin/kep-4176-240305
KEP-4176: Add a new static policy SpreadPhysicalCPUsPreferredOption
2024-07-15 01:41:10 -07:00
Michal Wozniak
5f1ab75d27 Fix that PodIP field is not set for terminal pod 2024-07-12 21:36:12 +02:00
Jiaxin Shan
6c85fd4ddd KEP-4176: Add static policy option to distribute cpus across cores 2024-07-12 11:52:51 -07:00
Kubernetes Prow Robot
2d4514e169 Merge pull request #125802 from mmorel-35/testifylint/len+empty
fix: enable empty and len rules from testifylint on pkg and staging package
2024-07-11 23:12:06 -07:00
Kubernetes Prow Robot
60862c98a4 Merge pull request #126012 from marosset/windows-kubelet-get-uuid-from-registry
Updating kubelet on Windows to query uuid from registry
2024-07-11 13:24:13 -07:00
Kubernetes Prow Robot
5a99930ab5 Merge pull request #125328 from harche/v1_warning
[KEP-4569] Add a warning log, an event for cgroup v1 usage and a metric for cgroup version
2024-07-10 23:50:32 -07:00
carlory
850bc09e9b clean up codes after PodDisruptionConditions was promoted to GA and locked to default 2024-07-11 10:40:21 +08:00
Mark Rossetti
26ef4e42e5 Updating kubelet on Windows to query uuid from registry 2024-07-10 11:36:15 -07:00
Kubernetes Prow Robot
4a214f6ad9 Merge pull request #125461 from mimowo/pod-disruption-conditions-ga
Graduate PodDisruptionConditions to stable
2024-07-09 11:08:13 -07:00
Harshal Patil
68d317a8d1 Add a warning log, event and metric for cgroup version 1
Signed-off-by: Harshal Patil <harpatil@redhat.com>
2024-07-09 11:34:46 -04:00
cyclinder
87129c350a kubelet: Add a TopologyManager policy options: "max-allowable-numa-nodes"
Signed-off-by: cyclidner <kuocyclinder@gmail.com>
2024-07-09 22:26:24 +08:00
Kubernetes Prow Robot
b106c291c3 Merge pull request #125841 from saschagrunert/get-container-events-ctx
cri: allow `GetContainerEvents` to pass a context
2024-07-08 14:13:41 -07:00
Matthieu MOREL
f014b754fb fix: enable empty and len rules from testifylint on pkg package
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2024-07-06 23:15:43 +00:00
Gyuho Lee
ac992f9a92 remove unncessary errors.Unwrap calls
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2024-07-03 21:31:57 +08:00
Kubernetes Prow Robot
f00eee5a40 Merge pull request #125468 from saschagrunert/kubelet-sig-node-approvers
Use `sig-node-approvers` alias in `pkg/kubelet/OWNERS`
2024-07-02 16:09:38 -07:00
Sascha Grunert
ae8f6f002d cri: allow GetContainerEvents to pass a context
The context can be used for timeout purposes for example, not really for
Kubernetes but other consumers like cri-tools.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2024-07-02 12:03:34 +02:00
Kubernetes Prow Robot
7e1a5a0ea8 Merge pull request #125687 from bart0sh/PR146-DevicePluginCDIDevices-LockToDefault
kube_features: DevicePluginCDIDevices: LockToDefault
2024-07-01 17:07:41 -07:00
Kubernetes Prow Robot
0c8dc93049 Merge pull request #125498 from ahmetb/kubelet-predicate-description
kubelet: Surface description for predicate failed Events
2024-07-01 17:07:32 -07:00
Tim Allclair
0687ae5647 [kubelet] Cleanup incorrect log about static pod status change 2024-07-01 17:00:00 -07:00