137098 Commits

Author SHA1 Message Date
Kubernetes Release Robot
24e2b02af5 Release commit for Kubernetes v1.36.2 v1.36.2 2026-06-11 18:09:07 +00:00
Kubernetes Prow Robot
6a416f92e2 Merge pull request #139585 from cpanato/update-go-images-rel136
Bump images and versions to go 1.26.4 and distroless iptables
2026-06-09 18:45:40 +05:30
Carlos Panato
02c02b91a7 Bump images and versions to go 1.26.4 and distroless iptables
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2026-06-09 12:51:12 +02:00
Kubernetes Prow Robot
5c2fa527b9 Merge pull request #139508 from lalitc375/automated-cherry-pick-of-#139480-origin-release-1.36
Automated cherry pick of #139480: Fix wrong marking of errors
2026-06-08 21:39:59 +05:30
Kubernetes Prow Robot
598f6af8b4 Merge pull request #139445 from HirazawaUi/automated-cherry-pick-of-#139339-upstream-release-1.36
Automated cherry pick of #139339: kubeadm: fix dry-run CA copy paths in init certs
2026-06-08 21:39:52 +05:30
Kubernetes Prow Robot
92e308b49d Merge pull request #139446 from pohly/automated-cherry-pick-of-#139439-origin-release-1.36
Automated cherry pick of #139439: DRA E2E: simplify kind.yaml
2026-06-08 19:31:40 +05:30
Kubernetes Prow Robot
0671468995 Merge pull request #139363 from nojnhuh/automated-cherry-pick-of-#139017-upstream-release-1.36
Automated cherry pick of #139017: Fix dra scoring bug with mixed allocated and unallocated claims
2026-06-08 16:34:18 +05:30
Kubernetes Prow Robot
cd90f1a01c Merge pull request #139233 from rahulbabu95/automated-cherry-pick-of-#138736-upstream-release-1.36
Automated cherry pick of #138736: fix: avoid panic on services with empty IPFamilies
2026-06-08 16:34:10 +05:30
Kubernetes Prow Robot
38e4ee021d Merge pull request #139228 from aramase/automated-cherry-pick-of-#139045-upstream-release-1.36
Automated cherry pick of #139045: fix(csi): preserve mount dir when NodePublish fails on a remount
2026-06-08 16:34:03 +05:30
Kubernetes Prow Robot
d52dde2e43 Merge pull request #139211 from ashvindeodhar/automated-cherry-pick-of-#139040-upstream-release-1.36
Automated cherry pick of #139040: DRA: account for shared devices when rebuilding counters
2026-06-08 16:33:55 +05:30
Kubernetes Prow Robot
7949d48093 Merge pull request #139136 from gnufied/automated-cherry-pick-of-#138981-upstream-release-1.36
Automated cherry pick of #138981: Improve performance characteristic of selinux metric emission
2026-06-08 16:33:47 +05:30
Kubernetes Prow Robot
ba80304d08 Merge pull request #138988 from pohly/automated-cherry-pick-of-#138885-origin-release-1.36
Automated cherry pick of #138885: DRA: fix AllocationModeAll with consumed counters
2026-06-08 16:33:39 +05:30
Kubernetes Prow Robot
86ce997ef5 Merge pull request #139192 from liggitt/env-binary-1.36
[1.36] Restore ability to plumb binary data through envvar values
2026-06-08 15:13:10 +05:30
Lalit Chauhan
afb3edeb90 Fix wrong marking of errors 2026-06-04 20:26:17 +00:00
Kubernetes Prow Robot
8090133843 Merge pull request #138871 from BenTheElder/1.36-1.26.3
release-1.36: upgrade go to 1.26.4
2026-06-04 16:57:46 +05:30
Benjamin Elder
088d4d9d86 upgrade go to 1.26.4 2026-06-03 12:06:24 -07:00
Patrick Ohly
6489fe467c DRA E2E: simplify kind.yaml
Runtime config can be set via the kind config, which is simpler than setting
the apiserver parameter.

DynamicResourceAllocation is enabled by default nowadays, but still needs to be
set for the current n-3 skew testing which picks 1.33 (1.37 still in alpha).
Similar for NodeLogQuery (GA in 1.36).
2026-06-03 10:06:59 +02:00
bo.jiang
0a283bcb5a kubeadm: fix dry-run CA copy paths in init certs
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2026-06-02 23:12:38 +08:00
Kubernetes Prow Robot
20cb5a2243 Merge pull request #139329 from kannon92/automated-cherry-pick-of-#139287-upstream-release-1.36
Automated cherry pick of #139287: batch/job: Fix scheduling directives mutation for not-yet-started suspended Jobs
2026-06-01 19:00:50 +05:30
John Belamaric
6bd05d64c7 Fix DRA scoring bug with mixed allocated and unallocated claims 2026-05-28 13:03:36 -05:00
Kevin Hannon
0f0c734c52 batch/job: Fix scheduling directives mutation for not-yet-started suspended Jobs
When MutableSchedulingDirectivesForSuspendedJobs feature gate is
enabled, it overwrites the notStarted check with a stricter condition
requiring the JobSuspended=True condition. This rejects mutations on
suspended Jobs that have never started but whose JobSuspended condition
has not yet been set by the job controller, breaking external
controllers like MultiKueue that inject scheduling directives
immediately after creating a suspended Job.

Preserve the notStarted path as an OR condition alongside the
JobSuspended condition check, restoring pre-1.36 behavior for
not-yet-started Jobs while maintaining the new relaxation for
previously-started Jobs.

Kubernetes-issue: https://github.com/kubernetes/kubernetes/issues/139281
2026-05-27 10:28:13 -04:00
Rahul
c106d15f1f fix(endpoint): avoid panic on services with empty IPFamilies
Accessing svc.Spec.IPFamilies[0] without a bounds check panics when a
service reaches the controller with an empty IPFamilies field. This can
happen via watch events: the apiserver's defaultOnRead decorator populates
IPFamilies on GET/LIST but not on watch (cachingObject wrapping bypasses
the type assertion).

Restore the inference logic removed in #130101: fall back to ClusterIP
for headful services and pod IP for headless services.

Signed-off-by: Rahul <rahulbabu95@gmail.com>
2026-05-21 13:36:04 -07:00
Anish Ramasekar
6c684db7a3 fix(csi): preserve mount dir on NodePublish error during remount
On a remount (e.g. CSIDriver.spec.requiresRepublish=true), the volume is
already published and the pod is observing the existing bind mount.
Removing the mount dir on a NodePublish error left the pod with stale
contents that subsequent successful republishes could not repair.
2026-05-21 14:15:31 -05:00
Anish Ramasekar
238883be8d feat(volume): add IsRemount to MounterArgs
Thread the reconciler's existing isRemount signal into MounterArgs so
volume plugins can distinguish an initial publish from a republish
(e.g. CSIDriver.spec.requiresRepublish=true). No behavior change.
2026-05-21 14:15:29 -05:00
Ashvin Deodhar
37349f7bac DRA: account for shared devices when rebuilding counters
When DRAConsumableCapacity is enabled, multi-allocatable device
 allocations are tracked via AllocatedSharedDeviceIDs and
 AggregatedCapacity instead of AllocatedDevices. The incubating and
 experimental allocators only checked AllocatedDevices when rebuilding
 available SharedCounters, so committed shared allocations could be
 missed across scheduling cycles.

 Add an internal IsDeviceAllocated helper that checks all committed
 allocation-state sources, and use it when reconstructing consumed
 counters. Add a regression test for a fresh allocator seeing committed
 shared-device counter consumption.
2026-05-20 22:01:07 -07:00
Jordan Liggitt
65cef41e78 Restore ability to plumb binary data through envvar values 2026-05-20 13:53:31 -04:00
Hemant Kumar
314bf620c9 Only emit non-dupicated values as metrics 2026-05-18 09:46:32 -04:00
Hemant Kumar
46a0b049e1 Optimize how deletions are handled 2026-05-18 09:46:32 -04:00
Hemant Kumar
aee40ed77b Improve performance characteristic of selinux metric emission 2026-05-18 09:46:32 -04:00
takonomura
d2b5ca01c7 DRA: fix AllocationModeAll with consumed counters
When collecting all matching devices for AllocationModeAll, the allocator did not record the source pool on the candidate device. Devices with consumed counters use that pool when checking shared counter availability, which caused kube-scheduler to panic.

Set the pool on all-devices candidates in the stable, incubating, and experimental allocators, and add a shared regression test for AllocationModeAll with consumed counters.
2026-05-12 12:07:04 +02:00
Kubernetes Release Robot
102c4a4f87 Update CHANGELOG/CHANGELOG-1.36.md for v1.36.1 2026-05-12 10:04:25 +00:00
Kubernetes Release Robot
756939600b Release commit for Kubernetes v1.36.1 v1.36.1 2026-05-12 09:51:33 +00:00
Kubernetes Prow Robot
710a59eee8 Merge pull request #138958 from neolit123/automated-cherry-pick-of-#138957-origin-release-1.36
Automated cherry pick of #138957: kubeadm: use dedicated ClusterRole for apiserver kubelet client
2026-05-11 17:53:51 +05:30
Micah Hausler
b0b25e8ade kubeadm: use dedicated ClusterRole for apiserver kubelet client
Signed-off-by: Micah Hausler <mhausler@amazon.com>
2026-05-11 11:25:19 +02:00
Kubernetes Prow Robot
493c5a49de Merge pull request #138500 from soltysh/automated-cherry-pick-of-#138499-upstream-release-1.36
Automated cherry pick of #138499: Ensure the path inside the container is correctly handled
2026-05-09 05:15:19 +05:30
Kubernetes Prow Robot
0c872bc694 Merge pull request #138535 from pohly/automated-cherry-pick-of-#137958-origin-release-1.36
Automated cherry pick of #137958: localupcluster: properly query /readyz and /healthz, change cluster modification procedure
2026-05-09 01:57:18 +05:30
Kubernetes Prow Robot
cc1b390ed4 Merge pull request #138590 from BenTheElder/fix-zfs-136
release-1.36: re-introduce cadvisor ZFS support to kubelet
2026-05-08 23:55:19 +05:30
Kubernetes Prow Robot
294c4333d2 Merge pull request #138859 from alaypatel07/automated-cherry-pick-of-#138530-upstream-release-1.36
Automated cherry pick of #138530: KEP-5304:  DecodeMetadataFromStream only skips metadata entries with unknown API versions
2026-05-08 21:05:26 +05:30
Kubernetes Prow Robot
3aa1cf5ec2 Merge pull request #138825 from alaypatel07/automated-cherry-pick-of-#138394-upstream-release-1.36
Automated cherry pick of #138394: KEP-5304, fix: merge same request metadata across drivers
2026-05-08 21:05:18 +05:30
Kubernetes Prow Robot
29952022e7 Merge pull request #138802 from neolit123/automated-cherry-pick-of-#138692-origin-release-1.36
Automated cherry pick of #138692: kubeadm: skip LocalAPIEndpoint defaulting on worker join
2026-05-08 17:25:17 +05:30
Alay Patel
2bd86062e7 KEP-5304: DecodeMetadataFromStream only skips metadata entries with unknown API versions
Signed-off-by: Alay Patel <alayp@nvidia.com>
2026-05-07 09:25:33 -04:00
Or Shoval
b643483ccc DRA: merge same request metadata across drivers
When multiple driver metadata files contain the same request name, keep a
single request entry and merge devices into it. This avoids duplicate request
objects when count>1 allocations are split across drivers.

Assisted-by: Cursor (codex-5.3)
Signed-off-by: Or Shoval <oshoval@redhat.com>
2026-05-06 14:28:27 -04:00
Seena Fallah
f0d0ff95d2 kubeadm: skip LocalAPIEndpoint defaulting on worker join
FetchInitConfigurationFromCluster always called SetAPIEndpointDynamicDefaults,
which invokes ChooseAPIServerBindAddress and requires a default route on the
host. Worker nodes joining the cluster don't need a LocalAPIEndpoint and may
legitimately have no default route, causing kubeadm join to fail with:

```
unable to fetch the kubeadm-config ConfigMap: unable to select an IP from
default routes.
```

Add a skipAPIEndpoint parameter to SetInitDynamicDefaults and pass
`!getAPIEndpoint` from FetchInitConfigurationFromCluster, so the endpoint
defaulter is bypassed when the caller did not request the endpoint (worker
join, non-control-plane reset/certs/upgrade paths).

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2026-05-06 11:08:19 +02:00
Kubernetes Prow Robot
5cdb448736 Merge pull request #138635 from aojea/automated-cherry-pick-of-#138571-upstream-release-1.36
Automated cherry pick of #138571: kube-proxy: don't do full periodic syncs on large cluster mode
2026-05-06 06:40:20 +05:30
Kubernetes Prow Robot
e9d3bc8634 Merge pull request #138682 from neolit123/automated-cherry-pick-of-#138449-origin-release-1.36
Automated cherry pick of #138449: kubeadm: use the localAPIEndpoint for all API calls in 'init'
2026-05-05 20:34:23 +05:30
Kubernetes Prow Robot
76cd418bc2 Merge pull request #138603 from princepereira/automated-cherry-pick-of-#138000-upstream-release-1.36
Automated cherry pick of #138000: Delete remote endpoint if it has same ip as local endpoint in the system.
2026-05-05 08:02:21 +05:30
Lubomir I. Ivanov
100bf5d499 kubeadm: use the localAPIEndpoint for all API calls in 'init'
Historicaly the kubeadm clients have used the 'admin.conf'
and 'super-admin.conf' directly, which makes all API calls
go trough the CPE (control plane endpoint). This can create
problems for scenarios when the LB is provisioned only after
'init' starts the kube-apiserver.

Instead of using the '.conf' as they are, modify them
in memory to point to the LAE (localAPIEndpoint).
This was already done by the WaitControlPlaneClient for
the WaitControlPlane phase, which required it. This separate
client is no longer needed.

However, do use a unmodified kubeconfig to the init phase
bootstrap-token since this is the phase that creates
the cluster-info CM and for that we need the original CPE
server address.
2026-04-29 17:35:31 +02:00
Antonio Ojea
0008353cef kube-proxy: don't do full periodic syncs on large cluster mode
Periodic full-syncs are just reconcile loops just in case somehow
the dataplane has drifted, however, they have an important cost on large
clusters.

We can avoid to perform full-sync if kube-proxy is in the "largecluster"
mode, we are already doing some optimization, so it is reasonable to
avoid the penalty of a full sync for a "just in case" operation.

Signed-off-by: Antonio Ojea <aojea@google.com>
2026-04-28 07:49:33 +00:00
Prince Pereira
a45cef81d6 Delete remote endpoint if it has same ip as local endpoint in the system. 2026-04-26 09:55:19 +00:00
Prince Pereira
cbb38cd5ce Delete remote endpoint if it has same ip as local endpoint in the system. 2026-04-26 09:55:19 +00:00