Commit Graph

51575 Commits

Author SHA1 Message Date
AxeZhan
3075a9ae96 DRA API: validate node selector labels
Previously, ValidateNodeSelector did not check that labels are valid. Now it
does for resource.k8s.io, regardless whether an object already was created with
invalid labels in an earlier Kubernetes release. Theoretically this is a
breaking change and could cause problems during an upgrade, but that is highly
unlikely in practice.

In contrast to node affinity, DRA does not ignore parse errors
(= uses NewNodeSelector, not NewLazyErrorNodeSelector), so invalid labels would
have been found instead of being silently ignored.

Even if some object has invalid labels, this only affects an alpha -> beta
upgrade which isn't guaranteed to work seamlessly.
2024-11-22 09:10:02 +01:00
Tim Allclair
8342d39956 Equate CPU limits below the minimum effective limit (10m) 2024-11-12 17:23:17 -08:00
Kubernetes Prow Robot
252e9cbb23 Merge pull request #128754 from vivzbansal/sidecar-3
Add AllowSidecarResizePolicy to relax resize policy validation check of sidecar containers
2024-11-12 20:28:48 +00:00
Kubernetes Prow Robot
79e5584257 Merge pull request #128682 from tallclair/ippr-beta
[FG:InPlacePodVerticalScaling] Graduate to Beta
2024-11-12 19:00:46 +00:00
vivzbansal
95591abd02 Add AllowSidecarResizePolicy to relax resize policy validation check of sidecar containers 2024-11-12 05:08:51 +00:00
Kubernetes Prow Robot
6b031e50b2 Merge pull request #128713 from tallclair/ippr-debug-events
[FG:InPlacePodVerticalScaling] Emit events for Deferred and Infeasible statuses
2024-11-11 23:22:45 +00:00
Tim Allclair
2935b106dc Set default ResizePolicy in fuzzer for roundtrip tests 2024-11-11 12:44:33 -08:00
Tim Allclair
25cf2a2aac Allow adding limits 2024-11-11 12:04:36 -08:00
Tim Allclair
caedccf0e4 Allow resize when pod limits aren't set 2024-11-11 12:04:36 -08:00
Tim Allclair
9df464fee7 Generate ContainerManager mocks 2024-11-11 12:04:36 -08:00
Tim Allclair
479b300227 Fix unit tests 2024-11-09 14:29:02 -08:00
Tim Allclair
7378b5e690 Graduate InPlacePodVerticalScaling to Beta 2024-11-09 14:29:02 -08:00
Kubernetes Prow Robot
8fe10dc378 Merge pull request #128691 from sanposhiho/flaky-candidate
fix: flaky TestPrepareCandidate
2024-11-09 19:38:44 +00:00
Kubernetes Prow Robot
feb3f92bc4 Merge pull request #128712 from kannon92/fix-stream-test-failures
fix PodLogsQuerySplitStream if feature is enabled and using defaults
2024-11-09 06:24:44 +00:00
Kevin Hannon
3d08c10c8a fix PodLogsQuerySplitStream if feature is enabled and using defaults 2024-11-08 22:32:30 -05:00
Kensei Nakada
00f7b95b7b fix: flaky TestPrepareCandidate 2024-11-09 12:07:16 +09:00
lauralorenz
7fe41da522 KEP-4603: Node specific kubelet config for maximum backoff down to 1 second (#128374)
* Add feature gate, API, and conflict validation tests for enablecrashloopbackoffmax

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Handle when current base is longer than node max

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Update pkg/features/kube_features.go

Co-authored-by: Tsubasa Nagasawa <toversus2357@gmail.com>

* Fix indentation

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Follow convention for success test

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Normalize casing, and change field to Duration

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix json name and some other casing errors

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Another one I missed before

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't clobber global max function

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Change to flat value in defaults.go

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Streamline validation and defaults

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix typecheck

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Lint

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Tighten up validation for subsecond values

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Rename field from MaxBackOffPeriod to MaxContainerRestartPeriod

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* A few missed references to renames

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Only compare flags in flags test

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't mess with SetDefault signature

Nobody messes with SetDefault signature

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix stale signature change, and update test data

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Inspect current feature gates at defaulting time

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't use the global feature gate for temp usage

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Expose default error, and some comments

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Hint fuzzer for less arbitrary values to FeatureGates

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

---------

Signed-off-by: Laura Lorenz <lauralorenz@google.com>
Co-authored-by: Tsubasa Nagasawa <toversus2357@gmail.com>
2024-11-09 01:44:43 +00:00
Tim Allclair
3a2555ee93 Emit events for resize error states 2024-11-08 16:43:55 -08:00
Tim Allclair
61e6242967 Move windows infeasible resize check into canResizePod 2024-11-08 16:42:10 -08:00
Kubernetes Prow Robot
591c75e40b Merge pull request #128694 from tallclair/revert-127300-error-propagation
Revert "[FG:InPlacePodVerticalScaling] kubelet: Propagate error in doPodResizeAction() to the caller"
2024-11-08 19:14:43 +00:00
Kubernetes Prow Robot
469524442f Merge pull request #126621 from my-git9/node-deadcode-remove
Remove deadcode in pkg/util/node
2024-11-08 16:38:45 +00:00
Tim Allclair
1d822f1dc8 Fix linter errors 2024-11-08 06:48:50 -08:00
Kubernetes Prow Robot
2691a29eac Merge pull request #128683 from AnishShah/validation
[FG:InPlacePodVerticalScaling] Disallow removing requests & limits for Burstable pods.
2024-11-08 09:08:43 +00:00
Kubernetes Prow Robot
c25f5eefe4 Merge pull request #128407 from ndixita/pod-level-resources
[PodLevelResources] Pod Level Resources Feature Alpha
2024-11-08 07:10:50 +00:00
Kubernetes Prow Robot
45260fd76a Merge pull request #127857 from Jefftree/cle-v1alpha2
Coordinated Leader Election add v1alpha2
2024-11-08 07:10:43 +00:00
Tim Allclair
bf8354d460 Revert "[FG:InPlacePodVerticalScaling] kubelet: Propagate error in doPodResizeAction() to the caller" 2024-11-07 22:43:59 -08:00
Kubernetes Prow Robot
6db94779e4 Merge pull request #128686 from thockin/take_over_pr-125233
Add missing comments in k8s.io/api/core/v1
2024-11-08 05:24:59 +00:00
Kubernetes Prow Robot
0fff5bbe7d Merge pull request #128680 from tallclair/min-cpu
[FG:InPlacePodVerticalScaling] Handle edge cases around CPU MinShares
2024-11-08 05:24:51 +00:00
Kubernetes Prow Robot
81dc4538db Merge pull request #128287 from Nordix/esotsal/128068
[FG:InPlacePodVerticalScaling] Gate Disallow in-place resize for guaranteed pods on nodes with a static topology policy
2024-11-08 05:24:44 +00:00
Anish Shah
7680f0f293 api: reject removing requsets & limits for Burstable pods. 2024-11-07 21:06:54 -08:00
Kubernetes Prow Robot
3232e2ffc0 Merge pull request #128687 from tallclair/allocated-status
[FG:InPlacePodVerticalScaling] Fix AllocatedResources feature gate annotation
2024-11-08 04:12:49 +00:00
Kubernetes Prow Robot
4d91d50283 Merge pull request #127581 from richabanker/flagz-apiserver
Add flagz endpoint for apiserver
2024-11-08 04:12:42 +00:00
ndixita
b30e6c8b0e keeping the qos code as-is for the existing case when pod-level resources are not set
Signed-off-by: ndixita <ndixita@google.com>
2024-11-08 03:00:55 +00:00
ndixita
777221421a Resource Quota enforcement changes for Pod Level Resources 2024-11-08 03:00:55 +00:00
ndixita
5a64597d2e Adding OOM Score adjustment formula changes that takes pod level resources into account
Signed-off-by: ndixita <ndixita@google.com>
2024-11-08 03:00:54 +00:00
ndixita
5ea57fb3b4 cgroup configuration changes:
1. Pod cgrooup configured to use resources from pod spec if feature is enabled and resources are set at pod-level
2. Container cgroup limits defaulted to pod-level limits is container limits are not set
2024-11-08 03:00:54 +00:00
ndixita
26f11c4586 QOS changes for Pod Level resources 2024-11-08 03:00:54 +00:00
ndixita
6db40446de Scheduler changes:
1. Use pod-level resource when feature is enabled and resources are set at pod-level
2. Edge case handling: When a pod defines only CPU or memory limits at pod-level (but not both), and container-level requests/limits are unset, the pod-level requests stay empty for the resource without a pod-limit. The container's request for that resource is then set to the default request value from schedutil.
2024-11-08 03:00:54 +00:00
ndixita
8a8dc27b4e Adding the logic to validate pod-level resources as following:
1. The effective container requests cannot be greater than pod-level requests
2. Inidividual container limits cannot be greater than pod-level limits
3. Only CPU & Memory are supported at pod-level
4. Inplace container resources updates are not supported if pod-level resources are set
Note: effective container requests cannot be greater than pod-level limits is supported by transitivity. Effective container requests <= pod-level requests && pod-level requests <= pod-level limits; Therefore effective container requests <= pod-level limits

Signed-off-by: ndixita <ndixita@google.com>
2024-11-08 03:00:54 +00:00
ndixita
a2ddde877c Adding the logic to set default pod-level request as following:
1. If pod-level limit is set, pod-level request is unset and container-level request is set: derive pod-level request from container-level requests
2. If pod-level limit is set, pod-level request is unset and container-level request is unset: set pod-level request equal to pod-level limit
2024-11-08 03:00:54 +00:00
ndixita
85488b5f10 Generated files and compatability data from API changes 2024-11-08 03:00:50 +00:00
ndixita
d7f488b5e3 API changes for Pod Level Resources
1. Add Resources struct to PodSpec struct in both external and internal API packages
2. Adding feature gate and logic for dropping disabled fields for Pod Level Resources
KEP: enhancements/keps/sig-node/2837-pod-level-resource-spec
2024-11-08 02:45:04 +00:00
Bo Wang
495af2a3d4 Add missing comments in k8s.io/api/core/v1
Signed-off-by: Bo Wang <wangbob@uniontech.com>
2024-11-07 18:42:33 -08:00
Jefftree
e86c38b249 generated 2024-11-08 02:27:20 +00:00
Jefftree
0ce7b688a6 v1alpha2 LeaseCandidate API 2024-11-08 02:27:19 +00:00
Kubernetes Prow Robot
210f129bb0 Merge pull request #128676 from vivzbansal/sidecar-3
Refactor: Move IsRestartableInitContainer to common utility package
2024-11-08 02:21:50 +00:00
Kubernetes Prow Robot
b35bbecbc5 Merge pull request #128506 from kolyshkin/cgroups-nit
kubelet/kuberuntime: switch to runc/libct
2024-11-08 02:21:34 +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
Kubernetes Prow Robot
46b3d9b320 Merge pull request #128186 from sreeram-venkitesh/117767-in-place-pod-vertical-scaling-version-skew
Updated version skew strategy for InPlacePodVerticalScaling
2024-11-08 02:21:14 +00:00
Kubernetes Prow Robot
4d10ae8fdc Merge pull request #127513 from tkashem/delete-undecryptable
KEP-3926: unsafe deletion of corrupt objects
2024-11-08 02:21:04 +00:00