Commit Graph

137089 Commits

Author SHA1 Message Date
galal-hussein
be1aa108bf Add the ability to add extra admission plugins
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-05-12 17:09:48 -03:00
galal-hussein
ee0e494d21 Ignore nfacct init error in kube-proxy
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-05-12 17:09:48 -03:00
Erik Wilson
5d0c0bf112 Add Vagrantfile 2026-05-12 17:09:48 -03:00
Darren Shepherd
7a4e65dc9f Add tag.sh script
Add DefaultKubeBinaryVersion to the tag script

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-05-12 17:09:48 -03:00
Darren Shepherd
822e982ed6 Fix CSI initialization conflict
CSI is used by both the kubelet and kube-controller-manager.  Both
components will initialize the csiPlugin with different VolumeHost
objects.  The csiPlugin will then assign a global variable for
the node info manager.  It is then possible that the kubelet gets
the credentials of the kube-controller-manager and that will cause
CSI to fail.
2026-05-12 17:09:48 -03:00
Darren Shepherd
d2bcea418e Allow override of "kubernetes" endpoint port 2026-05-12 17:09:48 -03:00
Darren Shepherd
ccb5994ff2 Notify startup to grab a hold of handler and authenticator
Fix to the completed options config

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-05-12 17:09:48 -03:00
Darren Shepherd
29b7576616 Add stopCh to apiserver & context to kublet commands
Remove SetupSignalContext call from the apiserver

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-05-12 17:09:48 -03:00
Erik Wilson
32b6292559 Update kubernetes service on start for port changes 2026-05-12 17:09:48 -03:00
Darren Shepherd
bf903c52b0 Don't ever select the flannel bridge or cni bridge 2026-05-12 17:09:48 -03:00
Darren Shepherd
ab7dbd472e Cache loopback cert in the certs dir if set 2026-05-12 17:09:48 -03:00
Darren Shepherd
ffa65d603d Add ability to disable proxy hostname check 2026-05-12 17:09:48 -03:00
Darren Shepherd
3da1ba74e6 Hide deprecated warnings 2026-05-12 17:09:48 -03:00
Darren Shepherd
3493008828 Set all sources so node+agent in the same process doesn't get restricted 2026-05-12 17:09:48 -03:00
Darren Shepherd
e8748b416f Don't check for cpuset cgroup, not always required? 2026-05-12 17:09:48 -03:00
Darren Shepherd
94faec59fd Wait for kube-apiserver for 2 minutes for slow (ARM) systems 2026-05-12 17:09:48 -03:00
Darren Shepherd
047219c837 Make kubelet.sock path changable 2026-05-12 17:09:48 -03:00
Darren Shepherd
104008231d only use the resolved name if port was zero 2026-05-12 17:09:48 -03:00
Darren Shepherd
128ee8890a If you can't set hashsize on nf_conntrack don't fail 2026-05-12 17:09:48 -03:00
Darren Shepherd
a6190bfe6d Drop credential providers 2026-05-12 17:09:48 -03:00
Darren Shepherd
1b9f3c8799 Drop storage plugins 2026-05-12 17:09:48 -03:00
Darren Shepherd
48ed0cd7d6 Drop client-go cloud auth 2026-05-12 17:09:48 -03: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
Benjamin Elder
28dd6f2757 hack/update-vendor.sh 2026-04-24 21:41:50 -07:00
Benjamin Elder
529473cc4d register zfs cadvisor plugin 2026-04-24 21:40:50 -07:00
Kubernetes Prow Robot
3e8d44c79c Merge pull request #138538 from ahrtr/automated-cherry-pick-of-#138403-upstream-release-1.36
Automated cherry pick of #138403: kubeadm: Evaluate etcd cluster health using quorum
2026-04-23 18:46:49 +05:30
Benjamin Wang
07144e39cd Add a (*Client) addEndpoint method
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-23 09:14:21 +01:00
Benjamin Wang
98ecfc63fe Evaluate etcd cluster health using quorum
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-23 09:14:21 +01:00
Ed Bartosh
891a905031 test/localupcluster: stop all components before starting replacements
Modify() was replacing components one at a time: stop X, start X, stop Y,
start Y, ... in version-skew order (apiserver last on downgrade). This
caused a crash during downgrade: KCM-1.35 started against the still-
running apiserver-1.36, passed its /healthz, and then immediately lose
its connection when apiserver-1.36 was killed by the localupcluster.
KCM-1.35 would reconnect to the not-yet-ready apiserver-1.35, hit a
403 RBAC error during controller initialization, and exit — because that
initialization phase does not retry on RBAC errors.

Fix by splitting Modify() into two phases:

  Phase 1 — stop all components to be replaced, in reverse startup order
  (kube-proxy down to apiserver), so dependent components release their
  connections before the apiserver is stopped.

  Phase 2 — start all replacement components in standard startup order
  (apiserver first), so each component connects to a fully-ready apiserver.
2026-04-23 08:27:36 +02:00
Ed Bartosh
1d850e8427 localupcluster: set readiness polling interval to 1 second
Without an explicit interval, Gomega's default polling is very frequent,
generating a large volume of /readyz and /healthz requests in the component
logs. Set an explicit 1-second interval to reduce noise while still
detecting readiness promptly.
2026-04-23 08:27:36 +02:00
Ed Bartosh
62d05adc8b localupcluster: properly query /readyz and /healthz
Despite being called checkReadiness, the function was only performing
a liveness check: /healthz was polled over HTTPS without verifying the
certificate or authenticating, and any HTTP response was accepted as a
signal that the component was up. The only exception was kubelet,
where a node readiness check was added on top.

Switched to /readyz for kube-apiserver and kube-scheduler,
kept /healthz for the rest and require HTTP 200 in all cases.

This ensures that the kube-apiserver is fully initialized before
dependent components are started.
2026-04-23 08:27:36 +02:00
Kubernetes Release Robot
745e271a9c Update CHANGELOG/CHANGELOG-1.36.md for v1.36.0 2026-04-22 14:04:16 +00:00