Commit Graph

12878 Commits

Author SHA1 Message Date
Darren Shepherd
d8fbe0a582 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-06-12 11:51:48 -03:00
Darren Shepherd
55369d0708 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-06-12 11:51:48 -03:00
Darren Shepherd
3316d818d0 Hide deprecated warnings 2026-06-12 11:51:48 -03:00
Darren Shepherd
0a3519e98a Wait for kube-apiserver for 2 minutes for slow (ARM) systems 2026-06-12 11:51:48 -03:00
Darren Shepherd
88251738c2 If you can't set hashsize on nf_conntrack don't fail 2026-06-12 11:51:48 -03:00
Darren Shepherd
f5bbc85029 Drop credential providers 2026-06-12 11:51:48 -03:00
Darren Shepherd
707f13257e Drop storage plugins 2026-06-12 11:51:48 -03:00
Darren Shepherd
77fe6c857c Drop client-go cloud auth 2026-06-12 11:51:47 -03:00
bo.jiang
718d9e6d53 kubeadm: fix dry-run CA copy paths in init certs
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2026-06-02 23:20:40 +08:00
Micah Hausler
3eb96fe62c kubeadm: use dedicated ClusterRole for apiserver kubelet client
Signed-off-by: Micah Hausler <mhausler@amazon.com>
2026-05-11 11:26:00 +02:00
Seena Fallah
8e92749f0f 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:09:13 +02:00
Lubomir I. Ivanov
d0c333c3df 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:43:52 +02:00
Benjamin Wang
a15a8c9795 Add a (*Client) addEndpoint method
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-23 09:15:42 +01:00
Benjamin Wang
ca1b774484 Evaluate etcd cluster health using quorum
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-23 09:15:42 +01:00
Kubernetes Prow Robot
537ab630b2 Merge pull request #137570 from fuweid/cp-1374942-134
[release-1.34] cmd/kubeadm: ignore EINVAL error during unmount
2026-03-11 21:17:36 +05:30
Wei Fu
da50ffde17 cmd/kubeadm: ignore EINVAL error during unmount
If /var/lib/kubelet is MS_SHARED mountpoint, all the mountpoints
under /var/lib/kubelet will have duplicate one. When `kubeadm reset -f`
is executed, it will try to umount one path twice. However, they are in
the peer group. Once we umount one path, the duplicate one will be
umounted as well. So, in this case, we should ignore EINVAL error.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
(cherry picked from commit 2634261c17)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2026-03-09 10:20:21 -04:00
Paco Xu
1e54c34d71 kubeadm: do not add learner member to etcd client endpoints 2026-02-26 10:30:50 +00:00
SataQiu
d77a7d6bb4 kubeadm: waiting for etcd learner member to be started before promoting during 'kubeadm join' 2026-01-20 16:00:51 -08:00
Lubomir I. Ivanov
b872b55ff7 kubeadm: always retry Patch() Node API calls
The PatchNodeOnce function has historically exited early
in scanarious when we Get a Node object, but the next Patch
API call on the same Node object fails. This can happen
in setups that are under a lot of resource pressure
or different network timeout scenarious.

Instead of exiting early and allow listing certain errors,
always retry on any Patch error. This aligns with the
general idea that kubeadm retries *all* API calls.
2026-01-07 14:27:46 +01:00
Lubomir I. Ivanov
ed5a8b6b66 kubeadm: do not sort extraArgs alpha-numerically
If the user has provided extraArgs with an order that has
significance (e.g. --service-account-issuer for kube-apiserver),
kubeadm will correctly override any base args, but will end up
sorting the entire resulting list, which is not desired.

Instead, only sort the base arguments and preserve the order
of overrides provided by the user.
2025-12-19 17:43:40 +01:00
Andrey Borovets
b00d0b5e7c [Manual bugfix]: unhide the etcd-join phase for v1.34
Signed-off-by: Andrey Borovets <andrey.borovets@flant.com>

add import

Signed-off-by: Andrey Borovets <andrey.borovets@flant.com>

delete import
2025-11-27 14:18:12 +03:00
Kubernetes Prow Robot
732ead8c40 Merge pull request #134723 from neolit123/automated-cherry-pick-of-#134715-origin-release-1.34
Automated cherry pick of #134715: kubeadm: add missing cluster-info context validation
2025-11-07 18:12:59 -08:00
joshjms
e1e4e2eb44 etcd: bump etcd to v3.5.24 for k8s v1.31, v1.32, v1.33
Signed-off-by: joshjms <joshjms1607@gmail.com>
2025-10-25 01:20:04 +08:00
Lubomir I. Ivanov
60e3b5762c kubeadm: add missing cluster-info context validation
When retrieving the cluster-info CM, ensure the cluster pointed
out by the current context in the kubeconfig is validated.

Add unit test for the above.

Make the function GetClusterFromKubeConfig() to return various
errors. Handle the errors on call sites. Add unit tests
for the update.

The above changes prevent panics when the users has manually
edited and malformed the kubeconfig in the cluster-info CM.
2025-10-20 13:34:04 +02:00
Benjamin Wang
f3b637f6c3 Bump etcd to v3.6.5
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-10-16 21:18:37 +01:00
Jordan Liggitt
f40e4ce552 Remove invalid SAN certificate construction 2025-10-14 09:35:42 -04:00
Benjamin Elder
ed6bf3e5db kubeadm preflight checks: fix host URL construction 2025-10-14 09:35:42 -04:00
Lubomir I. Ivanov
3ffc54a9e9 kubeadm: rework the FetchInitConfigurationFromCluster node flags
The newControlPlane flag has been historically problematic, since
it implies that the function FetchInitConfigurationFromCluster
cannot handle the cases where a node is worker node but
we still want to fetch its NodeRegistrationOptions conditionally,
in cases such as "upgrade node" for workers.

To fix this issue, replace the flag newControlPlaneNode with
two new flags getNodeRegistration and getAPIEndpoint.

If getNodeRegistration is true, we fetch the NRO, and if
getAPIEndpoint is true, we fetch the API endpoint for
that node.

Additionally, rename skipComponentConfigs to getComponentConfigs
for consistency and flip its value accordingly everywhere.
2025-10-01 22:07:30 +02:00
Lubomir I. Ivanov
e9f5e892f7 kubeadm: use JoinHostPort in WaitControlPlaneClient
Using naive string concat with ":" does not work for IPv6.
Apply the fix to WaitForKubelet as well.
2025-09-25 21:26:38 +02:00
Lubomir I. Ivanov
663664c617 kubeadm: ensure waiting for apiserver uses a local client
When waiting for the kube-apiserver to report 'ok'
in the 'init' and 'join' phase 'wait-control-plane', a client
constructed from the 'admin.conf' is used. In the case of the
kube-apiserver, the discovery client is used so that
anonymous-auth works. But if 'admin.conf' is used as is,
it would point to the CPE and not the LAE.

Implement a new method WaitControlPlaneClient() for both
init.go and join.go that patches the 'Server' field in the
loaded v1.Config to point to the LAE, before constructing
a client set and using it in the kube-apiserver waiter.
2025-09-25 15:57:55 +02:00
tom1299
08515c751b Fix missing control plane health check timeout 2025-08-28 22:56:12 +08:00
Predrag Rogic
f2170bc6c3 kube-proxy: log but don't exit if ipv4 or ipv6 is not available 2025-08-26 16:11:12 +01:00
Ivan Valdes
e8dc272c53 Update etcd to 3.6.4 2025-07-27 21:45:02 -07:00
Kubernetes Prow Robot
802198e2da Merge pull request #133113 from alaypatel07/resource-claim-concurrent-syncs
bump resource claim controller concurrent syncs to 50
2025-07-24 17:59:20 -07:00
Kubernetes Prow Robot
1451dd1b08 Merge pull request #132942 from thockin/kyaml
Add KYAML support to kubectl
2025-07-24 17:59:06 -07:00
Kubernetes Prow Robot
7912e5fd67 Merge pull request #131549 from carlory/KEP-3751-GA
[Kep-3751] Promote VolumeAttributesClass to GA
2025-07-24 16:44:27 -07:00
Kubernetes Prow Robot
ebbebe8be6 Merge pull request #133157 from haircommander/cgroup-driver-cri-ga
KEP 4033: Add metric for out of support CRI and bump feature to GA
2025-07-24 13:05:04 -07:00
Tim Hockin
7adcd21148 Replace cmd/yamlfmt with k-sigs/yaml/yamlfmt
And run it.
2025-07-24 12:11:04 -07:00
carlory
94bf8fc8a9 Promoted API VolumeAttributesClass and VolumeAttributesClassList to storage.k8s.io/v1.
Promoted feature-gate `VolumeAttributesClass` to GA (on by default)

Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-07-25 01:53:59 +08:00
Kubernetes Prow Robot
a11bc701e8 Merge pull request #132457 from ania-borowiec/depends_on_cluster_move_podinfo
Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler
2025-07-24 09:38:27 -07:00
Peter Hunt
5dc2030c02 4033: GA KubeletCgroupDriverFromCRI feature gate
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2025-07-24 12:37:14 -04:00
Peter Hunt
83a0d0c660 kubelet: add metric for version CRI implementation will lose support
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2025-07-24 11:42:59 -04:00
Ania Borowiec
aecd37e6fb Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler 2025-07-24 12:10:58 +00:00
Patrick Ohly
24de875ceb DRA: graduate DynamicResourceAllocation feature to GA
It hasn't been on-by-default before, therefore it does not get locked to the
new default on yet. This has some impact on the scheduler configuration
because the plugin is now enabled by default.

Because the feature is now GA, it doesn't need to be a label on E2E tests,
which wouldn't be possible anyway once it gets removed entirely.
2025-07-24 08:33:56 +02:00
Patrick Ohly
21d929f599 integration: use --runtime-config-emulation-forward-compatible
Some tests do version emulation and need the DRA feature. In that combination
the --runtime-config-emulation-forward-compatible option is needed to allow
enabling the V1 API although it's only available in 1.34.
2025-07-24 08:33:56 +02:00
Patrick Ohly
5c4f81743c DRA: use v1 API
As before when adding v1beta2, DRA drivers built using the
k8s.io/dynamic-resource-allocation helper packages remain compatible with all
Kubernetes release >= 1.32. The helper code picks whatever API version is
enabled from v1beta1/v1beta2/v1.

However, the control plane now depends on v1, so a cluster configuration where
only v1beta1 or v1beta2 are enabled without the v1 won't work.
2025-07-24 08:33:45 +02:00
Patrick Ohly
cff91579e8 DRA API: v1 registration + tests 2025-07-24 08:30:25 +02:00
Kubernetes Prow Robot
c41cc0a144 Merge pull request #129837 from danwinship/aggregated-apiserver-endpointslices
Port aggregated apiserver discovery to EndpointSlices
2025-07-23 10:30:28 -07:00
Dan Winship
d70e7e223c Port aggregated apiserver discovery to EndpointSlices
Co-Authored-by: Jordan Liggitt <liggitt@google.com>
2025-07-23 11:07:29 -04:00
Kubernetes Prow Robot
ce9ba81802 Merge pull request #133059 from danwinship/node-manager
kube-proxy node manager (take 2)
2025-07-21 20:36:27 -07:00