Commit Graph

1915 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
99f55ae4ef Merge pull request #132662 from gnufied/bump-recovery-feature-ga
Bump recovery feature ga
2025-07-17 17:10:25 -07:00
Kubernetes Prow Robot
27ef1d4eed Merge pull request #132033 from pohly/dra-scheduler-filter-timeout
DRA scheduler: implement filter timeout
2025-07-17 15:58:24 -07:00
Kubernetes Prow Robot
3dd0e86190 Merge pull request #132821 from cici37/mapBeta
[KEP-3962]Promote MutatingAdmissionPolicy to Beta
2025-07-17 14:18:24 -07:00
Patrick Ohly
ee38a00131 DRA scheduler: add DRASchedulerFilterTimeout feature gate
Initializing the scheduler Features struct will be needed in different places,
therefore NewSchedulerFeaturesFromGates gets introduced. Besides, having it
next to the struct makes it easier to add new features.

The DRASchedulerFilterTimeout feature gate simplifies disabling the timeout
because setting a feature gate is often easier than modifying the scheduler
configuration with a zero timeout value.

The timeout and feature gate are new. The gate starts as beta and enabled by
default, which is consistent with the "smaller changes with low enough risk
that still may need to be disabled..." guideline.
2025-07-17 16:47:47 +02:00
Kubernetes Prow Robot
f130a825c2 Merge pull request #132994 from utam0k/kep-5278-feature-gate
Add NominatedNodeNameForExpectation feature flag
2025-07-16 12:12:45 -07:00
utam0k
52fab5969c Add NominatedNodeNameForExpectation feature flag
Signed-off-by: utam0k <k0ma@utam0k.jp>
2025-07-16 21:33:33 +09:00
Marek Siarkowicz
fd23fa3d42 Graduate ListFromCacheSnapshot to Beta 2025-07-16 12:52:01 +02:00
Kubernetes Prow Robot
e55e75f6d9 Merge pull request #132768 from enj/enj/f/authn_egress
Add egress selector support to JWT authenticator
2025-07-15 17:48:29 -07:00
Monis Khan
b69fd9d42c Add egress selector support to JWT authenticator
This change adds the StructuredAuthenticationConfigurationEgressSelector
beta feature (default on).  When enabled, each JWT authenticator
specified via the AuthenticationConfiguration.jwt array can
optionally specify either the controlplane or cluster egress
selector by setting the issuer.egressSelectorType field.  When
unset, the prior behavior of using no egress selector is retained.

Egress selection is valuable when the persona configuring the JWT
authenticator and the persona managing the control plane are
different individuals.  This change allows the latter to protect
control plane network services from unexpected connections.

Signed-off-by: Monis Khan <mok@microsoft.com>
2025-07-15 16:03:07 -04:00
Cici Huang
4f3334b7ce Promote feature gate 2025-07-15 01:44:13 +00:00
Kubernetes Prow Robot
3430e34d88 Merge pull request #132656 from liggitt/selector-authz
KEP-4601: Graduate selector authorization to stable
2025-07-14 16:42:38 -07:00
Kubernetes Prow Robot
8790d5b819 Merge pull request #132341 from dashpole/graduate_kubelet_tracing
Promote KubeletTracing featuregate to GA
2025-07-14 15:34:23 -07:00
Jordan Liggitt
a04e7cf5eb KEP-4601: Graduate selector authorization to stable 2025-07-14 16:19:52 -04:00
Kubernetes Prow Robot
bf0be9fb56 Merge pull request #132028 from ffromani/podresources-list-active-pods
podresources: list: use active pods
2025-07-14 12:06:24 -07:00
Kubernetes Prow Robot
bd6e6e80cb Merge pull request #132884 from serathius/watchcache-detect-inconsistency
Enable running cache inconsistency detection by default
2025-07-14 09:12:31 -07:00
Kubernetes Prow Robot
cb0b66a89f Merge pull request #132645 from serathius/kep-2340-ga
Graduate ConsistentListFromCache to GA
2025-07-14 09:12:24 -07:00
Marek Siarkowicz
e6cf7dbf06 Enable running cache inconsistency detection by default 2025-07-11 22:19:55 +02:00
Kubernetes Prow Robot
2bdcad7419 Merge pull request #132803 from aramase/aramase/f/token_request_uid_check
Make kubelet token cache UID-aware to prevent stale tokens after service account recreation
2025-07-10 22:25:27 -07:00
Anish Ramasekar
45dfb46448 Add TokenRequestServiceAccountUIDValidation feature gate with UID validation
This change introduces the TokenRequestServiceAccountUIDValidation feature
gate and implements feature-gated service account UID validation for the
TokenRequest API. When enabled, the API validates that the service account
UID in token requests matches the actual service account UID, preventing
token requests for recreated service accounts with the same name but
different UIDs.

Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-10 23:20:23 -05:00
Hemant Kumar
c126870ebc Bump RecoverVolumeExpansionFailure to GA 2025-07-10 12:19:31 -04:00
Kubernetes Prow Robot
9fbd2dae14 Merge pull request #132339 from adrianmoisey/relaxed-validation-for-services-names
KEP-5311 Relaxed validation for Services names
2025-07-08 09:03:26 -07:00
Francesco Romani
bc56d0e45a podresources: list: use active pods in list
The podresources API List implementation uses the internal data of the
resource managers as source of truth.
Looking at the implementation here:
https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/pkg/kubelet/apis/podresources/server_v1.go#L60
we take care of syncing the device allocation data before querying the
device manager to return its pod->devices assignment.
This is needed because otherwise the device manager (and all the other
resource managers) would do the cleanup asynchronously, so the `List` call
will return incorrect data.

But we don't do this syncing neither for CPUs or for memory,
so when we report these we will get stale data as the issue #132020 demonstrates.

For CPU manager, we however have the reconcile loop which cleans the stale data periodically.
Turns out this timing interplay was actually the reason the existing issue #119423 seemed fixed
(see: https://github.com/kubernetes/kubernetes/issues/119423#issuecomment-2786891218).
But it's actually timing. If in the reproducer we set the `cpuManagerReconcilePeriod` to a time
very high (>= 5 minutes), then the issue still reproduces against current master branch
(https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/test/e2e_node/podresources_test.go#L983).

Taking a step back, we can see multiple problems:
1. not syncing the resource managers internal data before to query for
   pod assignment (no removeStaleState calls) but most importantly
2. the List call iterate overs all the pod known to the kubelet. But the
   resource managers do NOT hold resources for non-running pod, so it is
   better, actually it's correct to iterate only over the active pods.
   This will also avoid issue 1 above.

Furthermore, the resource managers all iterate over the active pods
anyway:
`List` is using all the pods known about:
1. https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/pkg/kubelet/kubelet.go#L3135 goes in
2. https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/pkg/kubelet/pod/pod_manager.go#L215

But all the resource managers are using the list of active pods:
1. https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/pkg/kubelet/kubelet.go#L1666 goes in
2. https://github.com/kubernetes/kubernetes/blob/v1.34.0-alpha.0/pkg/kubelet/kubelet_pods.go#L198

So this change will also make the `List` view consistent with the
resource managers view, which is also a promise of the API currently
broken.

We also need to acknowledge the the warning in the docstring of GetActivePods.
Arguably, having the endpoint using a different podset wrt the resource managers with the
related desync causes way more harm than good.
And arguably, it's better to fix this issue in just one place instead of
having the `List` use a different pod set for unclear reason.
For these reasons, while important, I don't think the warning per se
invalidated this change.

We need to further acknowledge the `List` endpoint used the full pod
list since its inception. So, we will add a Feature Gate to disable this
fix and restore the old behavior. We plan to keep this Feature Gate for
quite a long time (at least 4 more releases) considering how stable this
change was. Should a consumer of the API being broken by this change,
we have the option to restore the old behavior and to craft a more
elaborate fix.

The old `v1alpha1` endpoint will be not modified intentionally.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2025-07-08 17:18:34 +02:00
Marek Siarkowicz
799aa8b2a8 Graduate streaming list encoding feature gates 2025-07-01 13:04:40 +02:00
Marek Siarkowicz
5bae9fa893 Graduate ConsistentListFromCache to GA 2025-07-01 11:41:47 +02:00
David Ashpole
7faf797a94 promote KubeletTracing featuregate to GA 2025-06-30 12:30:40 +00:00
Adrian Moisey
1134220e01 Add RelaxedServiceNameValidation feature gate 2025-06-28 14:06:34 +02:00
Davanum Srinivas
d50e1a684c Ensure all the files have the updated sorting
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-06-27 11:13:50 -04:00
Kubernetes Prow Robot
b7c9333f5c Merge pull request #131837 from sreeram-venkitesh/static-pod-strict-validation-for-api-object-reference
Deny pod admission for static pods referencing API objects
2025-06-26 12:18:30 -07:00
Kubernetes Prow Robot
bc8491416d Merge pull request #132487 from macsko/add_schedulerasyncapicalls_feature_flag
KEP-5229: Add SchedulerAsyncAPICalls feature gate
2025-06-26 05:54:36 -07:00
sreeram-venkitesh
5390f75360 Added podutil.HasAPIObjectReference to deny admission for static pods referencing API objects 2025-06-25 23:59:26 +05:30
Marek Siarkowicz
ec78b8305a Estimate average size of objects in etcd and plug it into request cost estimator 2025-06-25 17:25:56 +02:00
Maciej Skoczeń
ae13d10195 KEP-5229: Add SchedulerAsyncAPICalls feature gate 2025-06-24 12:41:42 +00:00
Dejan Zele Pejchev
bccc9fe470 KEP-3939: Job Pod Replacement Policy; promote to GA
Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
2025-06-16 16:26:03 +02:00
Kubernetes Prow Robot
5a0f0f7b2d Merge pull request #122634 from carlory/KEP-3902
Promote SeparateTaintEvictionController to stable
2025-06-13 03:28:55 -07:00
carlory
901441c66e Promote SeparateTaintEvictionController to stable
Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-06-13 11:15:35 +08:00
Kubernetes Prow Robot
bf84dd0cc9 Merge pull request #132127 from danwinship/kep-3015-to-beta
KEP-3015: PreferSameTrafficDistribution to Beta
2025-06-11 22:14:54 -07:00
Kubernetes Prow Robot
5596cc64c2 Merge pull request #131916 from aramase/aramase/f/authn_config_ga
Mark StructuredAuthenticationConfiguration feature gate as GA
2025-06-10 16:23:02 -07:00
Kubernetes Prow Robot
b0b28b53e4 Merge pull request #131300 from HarshalNeelkamal/beta-external-jwt
KEP-740: promote ExternalJWTSigner feature to beta
2025-06-10 16:22:55 -07:00
Anish Ramasekar
efebfe9e3a Set StructuredAuthenticationConfiguration feature gate to GA in v1.34
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-06-10 14:04:28 -07:00
Kubernetes Prow Robot
fa8c5acf5e Merge pull request #131654 from vinayakankugoyal/anonGA
KEP-4633: Graduate to Stable.
2025-06-10 12:44:56 -07:00
Kubernetes Prow Robot
4db16edaa8 Merge pull request #132054 from HirazawaUi/promote-4369-to-ga
[KEP-4369]: Graduate RelaxedEnvironmentVariableValidation to GA
2025-06-10 11:19:02 -07:00
Vinayak Goyal
26b188aaa8 KEP-4633: Graduate to Stable. 2025-06-10 17:13:15 +00:00
Harshal Neelkamal
0baeccd32f KEP-740: promote ExternalJWTSigner feature to beta 2025-06-10 16:16:13 +00:00
cici37
eb3c9a3184 Promote feature OrderedNamespaceDeletion to GA. 2025-06-10 15:41:50 +00:00
Dan Winship
dacafec88c KEP-3015: PreferSameTrafficDistribution to Beta 2025-06-10 08:46:34 -04:00
HirazawaUi
6a4751da7f Graduate RelaxedEnvironmentVariableValidation Feature gate to GA 2025-06-07 20:32:03 +08:00
Kubernetes Prow Robot
b5504bc2ae Merge pull request #132148 from soltysh/drop_poddisruptionconditions
KEP-3329: drop PodDisruptionConditions feature gate
2025-06-06 13:38:45 -07:00
Maciej Szulik
beb86a8391 KEP-3329: drop PodDisruptionConditions feature gate
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2025-06-06 16:15:30 +02:00
Maciej Szulik
b5a8f5d0a5 KEP-3715: drop ElasticIndexedJob feature gate
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2025-06-06 16:08:21 +02:00
Kubernetes Prow Robot
bbb4291153 Merge pull request #132119 from soltysh/drop_statefulsetordinal
KEP-3335: drop StatefulSetStartOrdinal feature gate
2025-06-05 15:28:45 -07:00