Skip to content

Commit 47a9996

Browse files
committed
Set beta graduation to v1.34.
1 parent 3a4c03f commit 47a9996

File tree

2 files changed

+52
-13
lines changed

2 files changed

+52
-13
lines changed

keps/sig-autoscaling/4951-configurable-hpa-tolerance/README.md

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,16 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
106106
- [x] (R) KEP approvers have approved the KEP status as `implementable`
107107
- [x] (R) Design details are appropriately documented
108108
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
109-
- [ ] e2e Tests for all Beta API Operations (endpoints)
109+
- [x] e2e Tests for all Beta API Operations (endpoints)
110110
- [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
111111
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
112112
- [ ] (R) Graduation criteria is in place
113113
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
114-
- [ ] (R) Production readiness review completed
115-
- [ ] (R) Production readiness review approved
114+
- [x] (R) Production readiness review completed
115+
- [x] (R) Production readiness review approved
116116
- [ ] "Implementation History" section is up-to-date for milestone
117-
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
118-
- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
117+
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
118+
- [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
119119

120120
[kubernetes.io]: https://kubernetes.io/
121121
[kubernetes/enhancements]: https://git.k8s.io/enhancements
@@ -355,7 +355,8 @@ We expect no non-infra related flakes in the last month as a GA graduation crite
355355
We will add the follow [e2e autoscaling tests]:
356356

357357
- For both scale up and scale down:
358-
- Workload does not scale because the metric ratio is in tolerance.
358+
- Workload does not scale because the metric ratio is in tolerance
359+
([PR](https://github.com/kubernetes/kubernetes/pull/130797/commits/4db8e8cc1dc2e5683c878b3ef29cb2e0fbe70f80#diff-832ab9989fa2683f7848ae1607c9a9aaa2bd245e5374efa0c5a87ba8edab464a)).
359360
- Workload scales successfully because the metric ratio is out of tolerance.
360361
- Autoscaling uses the default when no tolerances are set.
361362

@@ -430,6 +431,12 @@ in back-to-back releases.
430431
- Feature implemented behind a `HPAConfigurableTolerance` feature flag
431432
- Initial e2e tests completed and enabled
432433

434+
#### Beta
435+
436+
- All tests described in the [`e2e tests` section](#e2e-tests) are implemented
437+
and linked in this KEP.
438+
- We have monitored negative user feedback and addressed relevant concerns.
439+
433440
### Upgrade / Downgrade Strategy
434441

435442
#### Upgrade
@@ -543,7 +550,7 @@ You can take a look at one potential example of such test in:
543550
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
544551
-->
545552

546-
We will add a unit test verifying that HPAs with and without the new fields are
553+
[Unit tests have been added](https://github.com/kubernetes/kubernetes/pull/130797/commits/a41284d9fa3a3d5a5e8760db6e9fd4f7e5e6fca6#diff-98f8520444a477d01c5cc2e56f92939d5fb07893a234b8fee5b67c7c147a20e0) to verify that HPAs with and without the new fields are
547554
properly validated, both when the feature gate is enabled or not.
548555

549556
### Rollout, Upgrade and Rollback Planning
@@ -564,13 +571,20 @@ rollout. Similarly, consider large clusters and how enablement/disablement
564571
will rollout across nodes.
565572
-->
566573

574+
This feature does not introduce new failure modes: during rollout/rollback, some
575+
API servers will allow or disallow setting the new 'tolerance' field. The new
576+
field is possibly ignored until the controller manager is fully updated.
577+
567578
###### What specific metrics should inform a rollback?
568579

569580
<!--
570581
What signals should users be paying attention to when the feature is young
571582
that might indicate a serious problem?
572583
-->
573584

585+
A high `horizontal_pod_autoscaler_controller_metric_computation_duration_seconds`
586+
metric can indicate a problem related to this feature.
587+
574588
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
575589

576590
<!--
@@ -579,12 +593,18 @@ Longer term, we may want to require automated upgrade/rollback tests, but we
579593
are missing a bunch of machinery and tooling and can't do that now.
580594
-->
581595

596+
I have manually tested a cluster upgrade, and this feature is in alpha without
597+
(to the best of our knowledge) any user reporting an issue. GKE has automated
598+
upgrade/downgrade tests that did not report any issue.
599+
582600
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
583601

584602
<!--
585603
Even if applying deprecation policies, they may still surprise some users.
586604
-->
587605

606+
No.
607+
588608
### Monitoring Requirements
589609

590610
<!--
@@ -625,9 +645,9 @@ values. Users can get both values using
625645
and use them to verify that scaling events are triggered when their ratio is out
626646
of tolerance.
627647

628-
We will update the controller-manager logs to help users understand the behavior
629-
of the autoscaler. The data added to the logs will include the tolerance used
630-
for each scaling decision.
648+
The [controller-manager logs have been updated](https://github.com/kubernetes/kubernetes/pull/130797/commits/2dd9eda47ffd5556ff90446e91d22ddbecc05d2c#diff-f1c5a31aa8fb8e3fd64b6aa13d3358b504e6e25030f249f1652e244c105eafc7R846)
649+
to help users understand the behavior of the autoscaler. The data added to the
650+
logs includes the tolerance used for each scaling decision.
631651

632652
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
633653

@@ -698,6 +718,8 @@ and creating new ones, as well as about cluster-level services (e.g. DNS):
698718
- Impact of its degraded performance or high-error rates on the feature:
699719
-->
700720

721+
No, this feature does not depend on any specific service.
722+
701723
### Scalability
702724

703725
<!--
@@ -817,6 +839,8 @@ details). For now, we leave it here.
817839

818840
###### How does this feature react if the API server and/or etcd is unavailable?
819841

842+
API server or etcd issues do not impact this feature.
843+
820844
###### What are other known failure modes?
821845

822846
<!--
@@ -832,8 +856,14 @@ For each of them, fill in the following information by copying the below templat
832856
- Testing: Are there any tests for failure mode? If not, describe why.
833857
-->
834858

859+
We do not expect any new failure mode. (While setting inappropriate `tolerance`
860+
values may cause HPAs to react too slowly or too fast, the feature is working as
861+
intended.)
862+
835863
###### What steps should be taken if SLOs are not being met to determine the problem?
836864

865+
N/A.
866+
837867
## Implementation History
838868

839869
<!--
@@ -848,13 +878,17 @@ Major milestones might include:
848878
-->
849879

850880
2025-01-21: KEP PR merged.
881+
2025-03-24: [Implementation PR](https://github.com/kubernetes/kubernetes/pull/130797) merged.
882+
2025-05-15: Kubernetes v1.33 released (includes this feature).
851883

852884
## Drawbacks
853885

854886
<!--
855887
Why should this KEP _not_ be implemented?
856888
-->
857889

890+
No major drawbacks have been identified.
891+
858892
## Alternatives
859893

860894
<!--
@@ -863,10 +897,15 @@ not need to be as detailed as the proposal, but should include enough
863897
information to express the idea and why it was not acceptable.
864898
-->
865899

900+
On non-managed Kubernetes instances, users can update the cluster-wide
901+
`--horizontal-pod-autoscaler-tolerance` tolerance parameter,
902+
866903
## Infrastructure Needed (Optional)
867904

868905
<!--
869906
Use this section if you need things from the project/SIG. Examples include a
870907
new subproject, repos requested, or GitHub details. Listing these here allows a
871908
SIG to get the process for these resources started right away.
872909
-->
910+
911+
N/A.

keps/sig-autoscaling/4951-configurable-hpa-tolerance/kep.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ see-also:
1717
replaces:
1818

1919
# The target maturity stage in the current dev cycle for this KEP.
20-
stage: alpha
20+
stage: beta
2121

2222
# The most recent milestone for which work toward delivery of this KEP has been
2323
# done. This can be the current (upcoming) milestone, if it is being actively
2424
# worked on.
25-
latest-milestone: "v1.33"
25+
latest-milestone: "v1.34"
2626

2727
# The milestone at which this feature was, or is targeted to be, at each stage.
2828
milestone:
2929
alpha: "v1.33"
30-
beta: TBD
30+
beta: "v1.34"
3131
stable: TBD
3232

3333
# The following PRR answers are required at alpha release

0 commit comments

Comments
 (0)