Commit Graph

13148 Commits

Author SHA1 Message Date
Darren Shepherd
13a12bcd96 Drop storage plugins 2026-06-12 11:55:44 -03:00
Darren Shepherd
e9fd94acf4 Drop client-go cloud auth 2026-06-12 11:55:44 -03: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
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
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
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
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
Kubernetes Prow Robot
40007b6452 Merge pull request #138210 from Mujib-Ahasan/featuregate-WorkloadWithJob
Rename feature gate `EnableWorkloadWithJob` to `WorkloadWithJob`
2026-04-09 23:12:21 +05:30
Mujib Ahasan
b9b0ff440d remove accidently commited file
Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
2026-04-04 12:53:30 +05:30
Lubomir I. Ivanov
bc2179d882 pause: fix version drift in various files
The latest pause version is 3.10.2 but due to the introduction
of the PATCH level version to the pause image (previously was
only MAJOR.MINOR), various files have remained on an older
version. Either 3.10 or 3.10.1. Our validation with
build/dependencies.yaml ./hack/verify-external-dependencies.sh
did not account for that.
2026-04-03 16:11:09 +02:00
Kubernetes Prow Robot
051af779af Merge pull request #137989 from hoteye/fix-preferredimports-owners-typo
Fix malformed OWNERS entries used by maintainers
2026-03-24 16:12:19 +05:30
hoteye
93f0ba1add Fix malformed OWNERS entries used by maintainers 2026-03-24 10:34:00 +08:00
Jon Huhn
d80f384b70 Workload API: PodGroup ResourceClaims (KEP-5729) 2026-03-22 14:52:45 -05:00
Kubernetes Prow Robot
15eaed180f Merge pull request #137028 from nmn3m/feature/dra-resource-pool-status
KEP-5677: Add ResourcePoolStatusRequest API for DRA resource availability visibility
2026-03-21 08:16:13 +05:30
Kubernetes Prow Robot
734aeb836d Merge pull request #137015 from nmn3m/contextual-logging-scheduler-events
scheduler: use contextual logging for event emission
2026-03-20 03:12:31 +05:30
Nour
58cbde2aff Pass individual informers, move DRA controllers to resource.go, simplify retry logic and metric tests
Signed-off-by: Nour <nurmn3m@gmail.com>
2026-03-19 16:50:03 +02:00
Nour
4dffbf5b2a Add tests for ResourcePoolStatusRequest
Add unit tests for handwritten and declarative validation, controller
logic, metrics, table printer output, controller-manager registration,
etcd storage round-trip, and an integration test for the full RPSR
lifecycle. Also add an e2e test exercising the DRA test driver with
RPSR and the example manifest.
2026-03-19 16:50:03 +02:00
Nour
30fe79df21 Add ResourcePoolStatusRequest controller, registry, and RBAC
Implement the RPSR controller that watches ResourcePoolStatusRequest
objects and aggregates pool status from DRA drivers. Add the API server
registry (strategy, storage), handwritten validation, RBAC bootstrap
policy for the controller, kube-controller-manager wiring, table
printer columns, and storage factory registration.
2026-03-19 16:50:02 +02:00
Kubernetes Prow Robot
ac10370ad2 Merge pull request #136987 from bitoku/kep-5825-cri
[KEP-5825] cri-api: Add streaming RPCs for CRI list operations
2026-03-19 18:28:39 +05:30
Nour
aa5e5ea9d6 scheduler: use contextual logging for event emission
Signed-off-by: Nour <nurmn3m@gmail.com>
2026-03-19 14:33:09 +02:00
Kubernetes Prow Robot
9d02f5f918 Merge pull request #137032 from helayoty/helayoty/5547-workload-job-integration
KEP-5547: Implement Workload APIs integration with Job controller
2026-03-19 17:10:31 +05:30
Kubernetes Prow Robot
caecddc909 Merge pull request #134627 from briansonnenberg/brians-kubelet-pods-api
[KEP-4188] New Kubelet gRPC API returning node-local Pod info
2026-03-19 07:52:30 +05:30
Kubernetes Prow Robot
c2a7819806 Merge pull request #137719 from sohankunkerkar/memqos-kernel-metrics-e2e
KEP-2570: Add tiered memory protection, metrics, rollback fix, and E2E tests for MemoryQoS
2026-03-19 05:42:44 +05:30
Kubernetes Prow Robot
bf1abbf2e9 Merge pull request #136355 from enj/enj/i/tls_cache_gc
Add GC to client-go TLS cache
2026-03-19 05:42:29 +05:30
Brian Sonnenberg
044f65ca5c [KEP-4188] New Kubelet gRPC API with endpoint returning local Pod information 2026-03-18 23:07:36 +00:00
Monis Khan
fa9a1fe5f7 Add GC to client-go TLS cache
Signed-off-by: Monis Khan <mok@microsoft.com>
2026-03-18 17:24:33 -04:00
helayoty
68e30095de Implement Workload and PodGroup integration with Job controller
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 20:32:37 +00:00
Kubernetes Prow Robot
1b5bcf309c Merge pull request #137641 from helayoty/helayoty/protection-controller-podgroup
KEP-5832: Add protection controller for PodGroup
2026-03-19 01:03:00 +05:30
Sohan Kunkerkar
c859cb3e64 Add kernel 5.9+ version check for MemoryQoS
The check runs only when MemoryQoS feature gate is enabled and
cgroups v2 is in use. It logs a warning but does not block kubelet
startup, since RHEL/LTS kernels may backport the fix without bumping
the version.

Signed-off-by: Sohan Kunkerkar <sohank2602@gmail.com>
2026-03-18 14:22:07 -04:00
Kubernetes Prow Robot
6fbb90204c Merge pull request #137781 from richabanker/nh-kube-proxy
Enable native histograms gated by feature flag in kube-proxy
2026-03-18 23:21:29 +05:30
Ayato Tokubi
3256f5175f cri-api: Add streaming RPCs for CRI list operations
Add server-side streaming RPCs to bypass the gRPC 16MB message size
limit on nodes with many containers/pods. This implements KEP-5825.

New RuntimeService streaming RPCs:
- StreamPodSandboxes
- StreamContainers
- StreamContainerStats
- StreamPodSandboxStats
- StreamPodSandboxMetrics

New ImageService streaming RPC:
- StreamImages

Each streaming RPC accepts the same filter as its unary counterpart
and streams results one item at a time.

Feature gate: CRIListStreaming
KEP: https://kep.k8s.io/5825

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Ayato Tokubi <atokubi@redhat.com>
2026-03-18 16:32:49 +00:00
helayoty
0ef8d78d1d Add new protection controller for PodGroup
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 15:27:17 +00:00
Tsubasa Watanabe
57e649ae03 DRA Device Binding Conditions: update unit and integration tests
- update expectations for the default BindingTimeout in KubeSchedulerConfiguration
- DRA unit tests:
  - enable DRADeviceBindingConditions by default
  - add allocationTimestamp to expected ResourceClaims for PreBind cases
- disable DRADeviceBindingConditions when testing the stable allocator in TestSchedulerPerf

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2026-03-18 13:44:30 +09:00
Kubernetes Prow Robot
ad4e232c4a Merge pull request #137326 from amritansh1502/fix-136333-kubelet-zero-psi-metrics
Fix zero PSI metrics emitted when OS doesn't enable PSI
2026-03-18 08:23:39 +05:30
Kubernetes Prow Robot
fd3bb6d21f Merge pull request #137779 from richabanker/nh-kcm
Enable native histograms gated by feature flag in KCM
2026-03-18 05:20:34 +05:30
Kubernetes Prow Robot
78ffbc93f5 Merge pull request #137708 from tchap/kcm-add-leaderelection-flag
kcm: Link the leader election release on exit feature gate
2026-03-18 05:20:10 +05:30
Kubernetes Prow Robot
399be52146 Merge pull request #137584 from QiWang19/kcfg-memqos
KEP-2570: Add MemoryReservationPolicy to kubeketconfig for MemoryQoS feature
2026-03-18 05:20:01 +05:30
Ondra Kupka
98aa74d376 kcm: Link the leader election release on exit feature gate
This is the last step in the process, simply linking ReleaseOnCancel to
ControllerManagerReleaseLeaderElectionLockOnExit feature gate.

The original logic when the leader election release on exit feature gate
is disabled is to not catch signals and exit immediately when the LE
lock is lost. This is being put back into place so that the new behavior
can be tested without affecting the former approach at all.
2026-03-17 11:39:00 +01:00
Patrick Ohly
e04d25c222 apiserver testing: fix support for pre-created TContext
When StartTestServer is called with a TContext by the caller, tearing down the
apiserver via its tear-down function would also cancel the context for everyone
else using it, which is unexpected and not intended.

Accidentally, scheduler_perf and scheduler/batch relied on this behavior:
- The apiserver clients waited on a context that got its cancellation
  from the root context and thus gets canceled last.
- The apiserver was told to stop earlier, but then waited because
  it still had active clients.
- Shutdown gets slowed down enough that integration testing times out.

The fix is to explicitly cancel the clients before the apiserver. Long-term
ktesting should be changed to do the same as the new testing.T.Context: cancel
the context *before* cleaning up, not *after* it.
2026-03-17 07:50:18 +01:00
Kubernetes Prow Robot
d71ba0f013 Merge pull request #137791 from sivchari/use-connectiontimeout
use connectionTimeout
2026-03-17 10:33:35 +05:30
sivchari
dc607d1908 use connectionTimeout
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2026-03-17 11:27:02 +09:00
Richa Banker
56cd8b2fc6 Enable native histograms gated by feature flag in kubelet
Signed-off-by: Richa Banker <richabanker@google.com>
2026-03-16 12:18:32 -07:00
Richa Banker
34c6060a37 Enable native histograms gated by feature flag in kube-proxy 2026-03-16 12:09:37 -07:00
Richa Banker
cdf6cdde08 Enable native histograms gated by feature flag in KCM 2026-03-16 11:45:51 -07:00
Qi Wang
f1ccd2d8aa Add MemoryReservationPolicy to kubeletconfig for MemoryQoS feature
Add MemoryReservationPolicy (None/HardReservation) controls memory.min. This allows
independently of memory.min protection, providing operators more
granular control over memoryQoS behavior.
Signed-off-by: Qi Wang <qiwan@redhat.com>
2026-03-16 11:24:34 -04:00
sivchari
183ebf26d7 fix: argument order of errors.Is
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2026-03-16 16:23:26 +09:00
Kubernetes Prow Robot
b5661be4ff Merge pull request #137248 from SergeyKanzhelev/propagate-context-cri-client
add context to CRI API client and contextual logging per-call
2026-03-14 00:41:36 +05:30
Kubernetes Prow Robot
b869833664 Merge pull request #137115 from damdo/add-tls-curve-preferences
Add --tls-curve-preferences flag for configuring TLS key exchange mechanism (curves)
2026-03-13 23:11:35 +05:30
Damiano Donati
53b163298d Add --tls-curve-preferences flag for configuring TLS key exchange mechanisms
Introduce support for specifying allowed TLS key exchange mechanisms
(IANA TLS Supported Groups) via a new --tls-curve-preferences flag,
following the same pattern as --tls-cipher-suites.

Curve preferences are specified as numeric IANA TLS Supported Group IDs
(e.g. 23,29,4588) rather than string names. This avoids maintaining a
hardcoded name-to-ID map that would become stale with each Go release,
and ensures new curves (such as Go 1.26's SecP256r1MLKEM768 and
SecP384r1MLKEM1024) work automatically when rebuilding with a newer Go
version -- no code changes required.

Changes:
- Add curves_flag.go in component-base/cli/flag with a simple
  int-to-tls.CurveID cast function
- Add CurvePreferences field ([]int32) to SecureServingOptions, registered
  via IntSliceVar, and wire it through to tls.Config

The order of the list is ignored; Go selects from the set using an
internal preference order. If omitted, Go defaults are used. The set of
accepted values depends on the Go version used to build the binary; see
https://pkg.go.dev/crypto/tls#CurveID for reference.
2026-03-13 14:26:05 +01:00