Commit Graph

3439 Commits

Author SHA1 Message Date
Jefftree
1a1b566d61 Revert "LeaseCandidate alpha -> beta,"
This reverts commit ac7a95efb0.
2025-03-01 14:14:19 +00:00
Kubernetes Prow Robot
d04883c90c Merge pull request #130061 from mimowo/make-backoffperindex-stable
Graduate Backoff Limit Per Index as stable
2025-02-28 13:37:02 -08:00
Kubernetes Prow Robot
2fc329c857 Merge pull request #129334 from serathius/streaming-json-list-encoder
Streaming json list encoder
2025-02-28 13:36:55 -08:00
Marek Siarkowicz
e7c743b2eb Streaming JSON encoder for List 2025-02-28 13:33:36 +01:00
Jefftree
ac7a95efb0 LeaseCandidate alpha -> beta, 2025-02-27 17:50:36 +00:00
Michal Wozniak
a91ed902fe Graduate Backoff Limit Per Index as stable
Reenable the JobBackoffLimitPerIndex_Reenabling integration test
2025-02-26 17:06:37 +01:00
Kubernetes Prow Robot
b14fad5adc Merge pull request #130181 from natasha41575/apiserver-generation
start setting pod metadata.generation
2025-02-24 10:48:29 -08:00
Natasha Sarkar
d02401dea9 start setting pod metadata.generation 2025-02-24 16:22:14 +00:00
sunnylovestiramisu
21f899596e Promote AnyVolumeDataSource to GA 2025-02-19 17:58:09 +00:00
Kubernetes Prow Robot
7a8a4c201a Merge pull request #129933 from serathius/deprecate-namespace-index
Disable StorageNamespaceIndex feature gate when BtreeWatchCache enabled and deprecate it
2025-02-11 06:29:59 -08:00
Kubernetes Prow Robot
0634e21fb5 Merge pull request #128367 from vivzbansal/sidecar-2
[FG:InPlacePodVerticalScaling] Implement resize for sidecar containers
2025-02-05 14:38:15 -08:00
Marek Siarkowicz
b1ad53c533 Disable StorageNamespaceIndex feature gate when BtreeWatchCache is enabled and deprecate it
Previously, the cache used a map keyed by the full object key,
requiring iteration and filtering by namespace for namespace-scoped requests.
This index allowed for faster responses by avoiding this iteration.

With the introduction of the BtreeWatchCache, this optimization is no longer necessary.
The B-tree structure allows efficient prefix-based searches,
including fetching objects by namespace.
Furthermore, the B-tree returns elements ordered by key, eliminating the need for separate sorting.

Performance improvements with the BtreeWatchCache have been validated through benchmarks matching K8s scalability dimentions (see table below).
These results demonstrate that the B-tree approach provides comparable or better performance than the map with index.
Therefore, the StorageNamespaceIndex feature flag can be safely flipped to false and subsequently deprecated.

| Benchmark                                                                         | Btree with Index (current) | Btree without Index    | Map with Index         | Map without Index (sanity check) |
| --------------------------------------------------------------------------------- | -------------------------- | ---------------------- | ---------------------- | -------------------------------- |
| StoreList (10k Namespaces, 150k Pods, 5k Nodes, RV=, Namespace Scope)             | 20.77µs ± 10%              | 20.14µs ± 13% (~0%)    | 19.73µs ± 6% (~0%)     | 1067.34µs ± 10% (+5037.73%)      |
| StoreList (10k Namespaces, 150k Pods, 5k Nodes, RV=NotOlderThan, Namespace Scope) | 3.943µs ± 6%               | 3.928µs ± 6% (~0%)     | 3.665µs ± 3% (-7.05%)  | 944.641µs ± 1% (+23857.41%)      |
| StoreList (50 Namespaces, 150k Pods, 5k Nodes, RV=, Namespace Scope)              | 303.3µs ± 2%               | 258.2µs ± 2% (-14.85%) | 340.1µs ± 3% (+12.15%) | 1668.6µs ± 4% (+450.23%)         |
| StoreList (50 Namespaces, 150k Pods, 5k Nodes, RV=NotOlderThan, Namespace Scope)  | 286.2µs ± 3%               | 234.7µs ± 1% (-17.99%) | 326.9µs ± 2% (+14.22%) | 1347.7µs ± 4% (+370.91%)         |
| StoreList (100 Namespaces, 110k Pods, 1k Nodes, RV=, Namespace Scope)             | 125.3µs ± 2%               | 112.3µs ± 5% (-10.38%) | 137.5µs ± 2% (+9.81%)  | 1395.1µs ± 8% (+1013.78%)        |
| StoreList (100 Namespaces, 110k Pods, 1k Nodes, RV=NotOlderThan, Namespace Scope) | 120.6µs ± 2%               | 113.2µs ± 1% (-6.13%)  | 133.8µs ± 1% (+10.92%) | 1719.1µs ± 5% (+1325.35%)        |
| Geometric Mean                                                                    | 68.94µs                    | 62.73µs (-9.02%)       | 72.72µs (+5.48%)       | 1.326ms (+1823.40%)              |
2025-02-05 10:49:22 +01:00
Kubernetes Prow Robot
76506f1d87 Merge pull request #129816 from sambdavidson/master
Improve SA max token expiry with external signer logic, and plumb extended expiry duration.
2025-01-29 16:41:29 -08:00
Kubernetes Prow Robot
f05b5dddb8 Merge pull request #129870 from yongruilin/fix-componentstatus-500
chore: use NewNotFound error for missing components
2025-01-29 12:09:29 -08:00
Samuel Davidson
7936d64e03 Replace IsExternalSigner boolean with ExtendedSigningDuration throughout apiserver to ensure consistent token signing length between local and external token signing. 2025-01-29 17:49:22 +00:00
yongruilin
bde75d6020 chore: use NotFound error for missing components
In this way, the return status could be 404 instead of 500
2025-01-28 17:29:30 -08:00
Maciej Szulik
1fa995224a Update scale sub-resource to return the same error everywhere
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2025-01-28 15:42:08 +01:00
vivzbansal
242dec3e34 Updated some unit tests and resolved some review comments 2025-01-27 19:46:54 +00:00
vivzbansal
8fa8277908 Added some unit tests 2025-01-27 19:46:54 +00:00
vivzbansal
1cf4587277 Fix build error 2025-01-27 19:42:14 +00:00
vivzbansal
591b0f547a Fix issue of pod spec mismatch if there is any non-restarble init container present 2025-01-27 19:42:13 +00:00
vivzbansal
3885d2f8ab Added sidecar support in ValidatePodResize and dropNonResizeUpdates 2025-01-27 19:42:13 +00:00
Kubernetes Prow Robot
d36322f8d7 Merge pull request #129815 from dims/linter-to-ensure-go-cmp/cmp-is-used-only-in-tests
Linter to ensure go-cmp/cmp is used ONLY in tests
2025-01-25 15:53:21 -08:00
Davanum Srinivas
4e05bc20db Linter to ensure go-cmp/cmp is used ONLY in tests
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-01-24 20:49:14 -05:00
Antonio Ojea
d3e8572d70 cluster ip allocator should check first on the legacy allocators
Kubernetes clusters allow to define an IPv6 range of /108 for IPv6
despite the old allocators will only use the first /112 of that range.

The new allocators does not have this limitation, so they can allocate
IPs on the whole space, the problem happens on upgrades from clusters
that were already using this size, since the new allocators by default
will try to allocate addresses that works for both new and old allocatos
to allow safe upgrades.

The new allocators, when configured to keep compatibility with the old
allocators, must try first to allocate an IP that is compatible with the
old allocators and only fall back to the new behavior if it is not
possible.
2025-01-24 15:48:52 +00:00
Filip Křepinský
14783b8a9b add validation, field disablement and tests 2025-01-23 22:26:34 +01:00
Kubernetes Prow Robot
a444a5bfed Merge pull request #129732 from dims/switch-to-v2.6.3-of-gopkg.in/go-jose/go-jose.v2
Switch to gopkg.in/go-jose/go-jose.v2 @ v2.6.3 and github.com/coreos/go-oidc @ v2.3.0
2025-01-22 13:40:38 -08:00
Davanum Srinivas
c9e81cd84c Switch to gopkg.in/go-jose/go-jose.v2 @ v2.6.3
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2025-01-21 09:21:27 -05:00
Antonio Ojea
ad511cd249 update registry 2025-01-20 13:01:53 +00:00
Antonio Ojea
c26a5796fd update networking strategy 2025-01-20 13:01:53 +00:00
Antonio Ojea
68cae5131a server both ga and beta servicecidr and ipaddress apis 2025-01-20 13:01:53 +00:00
Kubernetes Prow Robot
38fab70477 Merge pull request #128398 from tenzen-y/remaining-job-tracking-annotation-testing
Job: Remove JobTrackingFinalizer annotation specific testings
2025-01-07 06:26:28 +01:00
Arda Güçlü
7c887412c8 Add validation for revisionHistoryLimit in sts to prevent negative value (#129017)
* Add validation for revisionHistoryLimit in sts to prevent negative value

* Add unit tests to verify warning messages
2025-01-06 20:04:31 +01:00
Kubernetes Prow Robot
cc03c6058b Merge pull request #129207 from Jefftree/remove-vap-alpha
Remove v1alpha1 admissionregistration APIs (ValidatingAdmissionPolicies & ValidatingAdmissionPolicyBindings)
2024-12-17 18:52:59 +01:00
Kubernetes Prow Robot
58aafb61d4 Merge pull request #129186 from liggitt/cleanup-authorization
Clean up v1alpha1 serving for authentication APIs
2024-12-17 18:52:52 +01:00
Jefftree
68631d8f7c Remove v1alpha1 serving for VAP 2024-12-13 18:35:07 +00:00
Jordan Liggitt
161a817812 Clean up v1alpha1 serving for authorization API 2024-12-13 08:37:57 -05:00
Patrick Ohly
8a908e0c0b remove import doc comments
The "// import <path>" comment has been superseded by Go modules.
We don't have to remove them, but doing so has some advantages:

- They are used inconsistently, which is confusing.
- We can then also remove the (currently broken) hack/update-vanity-imports.sh.
- Last but not least, it would be a first step towards avoiding the k8s.io domain.

This commit was generated with
   sed -i -e 's;^package \(.*\) // import.*;package \1;' $(git grep -l '^package.*// import' | grep -v 'vendor/')

Everything was included, except for
   package labels // import k8s.io/kubernetes/pkg/util/labels
because that package is marked as "read-only".
2024-12-02 16:59:34 +01:00
Kevin Hannon
3d08c10c8a fix PodLogsQuerySplitStream if feature is enabled and using defaults 2024-11-08 22:32:30 -05:00
Jefftree
0ce7b688a6 v1alpha2 LeaseCandidate API 2024-11-08 02:27:19 +00:00
Kubernetes Prow Robot
4cf2818f96 Merge pull request #128240 from LionelJouin/KEP-4817
DRA: Implementation of ResourceClaim.Status.Devices (KEP-4817)
2024-11-08 02:21:24 +00:00
Abu Kashem
b6773f1589 api: add a new field to meta/v1 DeleteOptions
- add a new boolean field
  IgnoreStoreReadErrorWithClusterBreakingPotential to meta/v1 DeleteOptions

- add validation for the new delete option
add validation for the new field in the delete options
ignoreStoreReadErrorWithClusterBreakingPotential

- prevent the pod eviction handler from issuing an unsafe pod delete
prevent the pod eviction handler from enabling the
'ignoreStoreReadErrorWithClusterBreakingPotential' delete option
2024-11-07 15:12:56 -05:00
Kubernetes Prow Robot
9660e5c4cd Merge pull request #127360 from knight42/feat/split-stdout-stderr-server-side
API: add a new `Stream` field to `PodLogOptions`
2024-11-07 19:44:45 +00:00
Lionel Jouin
43d23b8994 [KEP-4817] Use structured.MakeDeviceID
Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
2024-11-07 09:59:56 +01:00
Lionel Jouin
a062f91106 [KEP-4817] Fixes based on review
* Rename HWAddress to HardwareAddress
* Fix condition validation
* Remove feature gate validation
* Fix drop field on disabled feature gate

Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
2024-11-07 09:59:56 +01:00
Lionel Jouin
c59359289f [KEP-4817] Drop deallocated devices from resourceclaim.status.devices
Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
2024-11-07 09:54:19 +01:00
Lionel Jouin
5d7a16b0a5 [KEP-4817] improve testing
* Test feature-gate enabled/disabled for validation
* Test pkg/registry/resource/resourceclaim
* Add Data and NetworkData to integration test

Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
2024-11-07 09:54:19 +01:00
Lionel Jouin
3e595db0af [KEP-4817] API, validation and feature-gate
* Add status
* Add validation to check if fields are correct (Network field, device
  has been allocated))
* Add feature-gate
* Drop field if feature-gate not set

Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
2024-11-07 09:54:17 +01:00
Kubernetes Prow Robot
6cc3570466 Merge pull request #128190 from HarshalNeelkamal/external-jwt
Add plugin and key-cache for ExternalJWTSigner integration
2024-11-07 06:29:45 +00:00
Kubernetes Prow Robot
3b6978051b Merge pull request #121897 from carlory/ds-registry-test
daemonset registry: add unit test for UpdateStatus
2024-11-07 06:29:29 +00:00