Commit graph

13199 commits

Author SHA1 Message Date
Kubernetes Prow Robot
ea692abff6
Merge pull request #134151 from ialidzhikov/enh/default-watch-cache-size-1
apiserver: Clean up the obsolete `DefaultWatchCacheSize` etcd option
2026-05-21 18:46:48 +05:30
carlory
5351d659c0 kubeadm: defer runtime config warning to 1.38 2026-05-18 10:04:38 +08:00
Kubernetes Prow Robot
24dbafd297
Merge pull request #138939 from SataQiu/fix-kubeadm-0510
kubeadm: avoid panic in TryLoadPrivatePublicKeyFromDisk for mismatched private/public key types
2026-05-16 17:34:33 +05:30
SataQiu
ecd29dbef8 kubeadm: avoid panic in TryLoadPrivatePublicKeyFromDisk for mismatched private/public key types 2026-05-16 13:53:41 +08:00
Lubomir I. Ivanov
6d9ff5fecf kubeadm: warn if the user has configured kube-proxy with 'ipvs'
If the user has provided a KubeProxyConfiguration component
config with 'mode: ipvs' show a warning saying that IPVS
mode has been deprecated since 1.35. Recommend 'nftables'
which has been GA since 1.33, or the legacy 'iptables' on
older kernels.
2026-05-15 14:50:18 +02:00
Jordan Liggitt
7ba2228d01
fix swagger generation inline json tag detection 2026-05-13 11:24:07 -04:00
Jordan Liggitt
2715cc52b2
Add json:"" to serialized inline typemeta fields 2026-05-13 11:24:04 -04:00
Jordan Liggitt
bed4a34ad8
Drop meaningless ,inline from json tags 2026-05-13 11:24:04 -04:00
Kubernetes Prow Robot
553312e6c2
Merge pull request #138657 from jpbetz/codegen-discovery
Enable validation-gen for all existing and future APIs
2026-05-13 01:16:37 +05:30
Kubernetes Prow Robot
300eda2f2f
Merge pull request #138746 from humblec/update-etcd-image-3.6.11
etcd: update etcd image to v3.6.11
2026-05-12 17:39:32 +05:30
Joe Betz
f79a4d72f2
Generate model names 2026-05-11 12:27:55 -04:00
Kubernetes Prow Robot
d56dacb1fd
Merge pull request #138658 from danwinship/kubeproxyconfig
Pass complete KubeProxyConfiguration to NewProxier methods
2026-05-11 18:09:50 +05:30
Micah Hausler
c78bdf97ec kubeadm: use dedicated ClusterRole for apiserver kubelet client
Signed-off-by: Micah Hausler <mhausler@amazon.com>
2026-05-11 11:12:05 +02:00
Kubernetes Prow Robot
9d011e034b
Merge pull request #138801 from luxas/impl-conditional-authz-0
Conditional Authz [0/5]: Rename all usages of the `authorizer.Authorizer` interface to `authorizer.UnconditionalAuthorizer`
2026-05-08 03:21:17 +05:30
Kubernetes Prow Robot
6aa5866f86
Merge pull request #138853 from alexmchughdev/fix-kubeadm-join-context-guard
kubeadm: guard against missing context when finalizing join kubeconfig
2026-05-08 01:35:27 +05:30
Lucas Käldström
7e3c734947 Add the Unconditional prefix to Authorizer and WantsAuthorizer interfaces 2026-05-07 22:22:14 +03:00
alexmchughdev
fae25b2bb3 kubeadm: validate HTTP status when fetching cluster-info over HTTPS
RetrieveValidatedConfigInfo previously read the response body of the
cluster-info HTTP GET unconditionally, then attempted to parse it as a
kubeconfig. A non-200 response (e.g. 404, 5xx, or an HTML error page
from a misconfigured server) would silently flow into clientcmd.Load()
and produce a confusing parse error far from the actual cause.

Match the pattern already used in cmd/kubeadm/app/util/version.go and
return a clear error if the server responds with anything other than
200 OK.
2026-05-07 14:26:44 +01:00
alexmchughdev
ac7a2bb4a1 kubeadm: guard against missing context when finalizing join kubeconfig
fetchInitConfigurationFromJoinConfiguration assigned to
`tlsBootstrapCfg.Contexts[tlsBootstrapCfg.CurrentContext].Cluster`
without checking that the current-context entry actually exists in the
context map. If the TLS bootstrap kubeconfig is malformed (or the
current-context name has been edited away), this produces a nil pointer
dereference and crashes `kubeadm join` instead of returning a clear
error.

Adopt the same defensive pattern already used in
`cmd/kubeadm/app/cmd/phases/init/kubeletfinalize.go`:

  currentContext, ok := tlsBootstrapCfg.Contexts[tlsBootstrapCfg.CurrentContext]
  if !ok || currentContext == nil {
      return nil, errors.Errorf("...current-context...not found...")
  }
  currentContext.Cluster = initConfiguration.ClusterName
2026-05-07 12:14:46 +01:00
Kubernetes Prow Robot
8d4ef007d3
Merge pull request #138645 from neolit123/1.37-remove-the-NodeLocalCRISocket-fg
kubeadm: remove the NodeLocalCRISocket FG
2026-05-06 10:02:20 +05:30
Kubernetes Prow Robot
d11684c12c
Merge pull request #138692 from clwluvw/kubeadm-auto-ip
kubeadm: skip LocalAPIEndpoint defaulting on worker join
2026-05-05 19:54:22 +05:30
Humble Devassy Chirammal
ea67842860 etcd: update etcd image to v3.6.11
Update etcd images to v3.6.11 across build dependencies, kubeadm defaults,
GCE manifests, test manifests, and sample-apiserver deployment.

Signed-off-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
2026-05-03 19:28:50 +05:30
Kubernetes Prow Robot
939e41075e
Merge pull request #138693 from marosset/prunexml-windows-unittest-fix
Fixing prune-junit-xml directory walking so labels get applied for Windows too
2026-05-01 00:55:32 +05:30
Lubomir I. Ivanov
718060ee57 kubeadm: remove the NodeLocalCRISocket FG
- The feature gate graduated to GA in 1.36 and was already
locked to enabled. It can now be removed in 1.37.
- Error if the instance-config.yaml is not present.
- The phases/patchnode is now redundant and can be removed.
- The annotation constant AnnotationKubeadmCRISocket is now removed.
2026-04-30 20:25:42 +02:00
Mark Rossetti
c97ed1a58c
fixup! Fixing prune-junit-xml directory walking so labels get removed for Windows too 2026-04-30 10:03:30 -07:00
ChengHao Yang
fc1726397e
Revert "bump coredns to v1.14.3" 2026-04-30 22:24:50 +08:00
Kubernetes Prow Robot
4de8794676
Merge pull request #137756 from zak905/clean_up_remove_loop_variable_capture
clean up: remove loop variable capture
2026-04-30 11:37:24 +05:30
Seena Fallah
9562f650c7 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-04-29 21:37:31 +02:00
Mark Rossetti
fd288806ed
Fixing prune-junit-xml directory walking so labels get removed for Windows too
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2026-04-29 11:54:34 -07:00
Kubernetes Prow Robot
adc681f621
Merge pull request #138449 from neolit123/1.36-make-init-talk-only-to-lae
kubeadm: use the localAPIEndpoint for all API calls in 'init'
2026-04-29 20:21:26 +05:30
Dan Winship
0af2c0a767 Pass complete KubeProxyConfiguration to NewNodeManager 2026-04-29 10:35:14 -04:00
Dan Winship
6492838d08 Pass complete KubeProxyConfiguration to NewProxier methods
Simplify the interface between cmd/kube-proxy and the backends by
passing the complete KubeProxyConfiguration to the backend rather than
having kube-proxy need to know specifically which fields each backend
cares about.
2026-04-29 10:35:12 -04:00
Dan Winship
fe50a9420a Consistently import pkg/proxy/apis/config as kubeproxyconfig 2026-04-29 08:51:50 -04:00
Lubomir I. Ivanov
e1a3328199 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 09:36:24 +02:00
yashsingh74
548ace71c0
bump coredns to v1.14.3
Signed-off-by: yashsingh74 <yashsingh1774@gmail.com>
2026-04-29 11:51:52 +05:30
zak905
04286814e7 clean up: remove loop variable capture 2026-04-28 23:53:27 +02:00
Lalit Chauhan
904d419c90 add support for invariant testing in integration testing 2026-04-27 18:42:09 +00:00
Kubernetes Prow Robot
3610351abb
Merge pull request #138273 from pohly/unit-test-ownership
improve JUnit test names in integration and unit test jobs
2026-04-24 17:46:53 +05:30
Stephen Kitt
e3c7e4e240
Bump otel semconv v1.12.0 to v1.40.0
This aligns with other uses and allows v1.12.0 to be dropped.

Remaining users of older semconv versions (v1.17.0) use http.target
which is no longer defined after v1.25.0.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2026-04-24 11:08:57 +02:00
Kubernetes Prow Robot
61723e7fa7
Merge pull request #138392 from humblec/update-etcd-image-3.6.10
etcd: update etcd image to v3.6.10
2026-04-23 17:28:45 +05:30
Kubernetes Prow Robot
f665f2605b
Merge pull request #138403 from ahrtr/20260415_kubeadm
kubeadm: Evaluate etcd cluster health using quorum
2026-04-23 07:21:26 +05:30
Kubernetes Prow Robot
976ee02c67
Merge pull request #138390 from wgkingk/fix-kubeadm-member-promote-already-voting
kubeadm: skip promote call when etcd member is already a voting member
2026-04-23 07:21:05 +05:30
Kubernetes Prow Robot
9cf310bf66
Merge pull request #138250 from Nordix/lentzi90/kubeadm-bind-address-check
Add address support to PortOpenCheck
2026-04-23 06:07:43 +05:30
Kubernetes Prow Robot
6448bfa39e
Merge pull request #138102 from kairosci/fix-apiserver-endpoint-validation
fix: validate apiserver endpoints in master lease reconciler
2026-04-23 05:11:43 +05:30
Kubernetes Prow Robot
635303d97c
Merge pull request #138090 from SataQiu/kubeadm-3288-kubeproxydaemonset-patch-target
kubeadm: add kubeproxydaemonset patch target
2026-04-23 05:11:29 +05:30
Kubernetes Prow Robot
1841c15892
Merge pull request #138002 from Jefftree/kcm-cleanup
Remove no-op cloud provider controller registrations from KCM
2026-04-23 04:16:21 +05:30
Benjamin Wang
7657a34a4a Add a (*Client) addEndpoint method
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-17 17:43:26 +01:00
Benjamin Wang
51c15ebf21 Evaluate etcd cluster health using quorum
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2026-04-17 17:43:20 +01:00
Humble Devassy Chirammal
d5c1f165c1 etcd: update etcd image to v3.6.10
Update etcd images to v3.6.10 across build dependencies, kubeadm defaults,
GCE manifests, test manifests, and sample-apiserver deployment.

Signed-off-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
2026-04-15 16:18:52 +05:30
Gang Wang
31e7fd7c15 kubeadm: skip promote call when etcd member is already a voting member
Move isLearner and isStarted variables to the outer var block of
MemberPromote so their values are accessible after the poll loop.
After the poll, if isLearner is false the member was already promoted,
so return nil early without issuing a redundant promote call.
2026-04-15 18:40:52 +08:00
Lennart Jern
37c27fe654
Add address support to PortOpenCheck
- PortOpenCheck now accepts an address to check port availability on a
  specific interface.
- InitNodeChecks uses the bind-address knowledge for the port checks.
- For ETCD we check the advertise address instead

Note: This works for bindAddress set through extraArgs. It will not work for patches that are applied later.

Signed-off-by: Lennart Jern <lennart.jern@est.tech>
2026-04-14 13:41:52 +03:00