@@ -670,22 +670,27 @@ _This section must be completed when targeting alpha to a release._
670
670
* ** How can this feature be enabled / disabled in a live cluster?**
671
671
- [x] Feature gate (also fill in values in ` kep.yaml ` )
672
672
- Feature gate name: InPlacePodVerticalScaling
673
- - Components depending on the feature gate: kubelet
673
+ - Components depending on the feature gate: kubelet, kube-apiserver, kube-scheduler
674
674
- [ ] Other
675
675
- Describe the mechanism:
676
676
- Will enabling / disabling the feature require downtime of the control
677
- plane?
677
+ plane? No.
678
678
- Will enabling / disabling the feature require downtime or reprovisioning
679
- of a node? (Do not assume ` Dynamic Kubelet Config ` feature is enabled).
679
+ of a node? (Do not assume ` Dynamic Kubelet Config ` feature is enabled). No.
680
680
681
681
* ** Does enabling the feature change any default behavior?** No
682
682
683
683
* ** Can the feature be disabled once it has been enabled (i.e. can we roll back
684
684
the enablement)?** Yes
685
685
686
686
* ** What happens if we reenable the feature if it was previously rolled back?**
687
+ - API will once again permit modification of Resources for 'cpu' and 'memory'.
688
+ - Actual resources applied will be reflected in in Pod's ContainerStatuses.
687
689
688
- * ** Are there any tests for feature enablement/disablement?** Unit tests
690
+ * ** Are there any tests for feature enablement/disablement?**
691
+ Unit tests and E2E tests.
692
+ - Unit tests verify that feature does not introduce any regression.
693
+ - E2E tests run against a local cluster verify that feature works as expected.
689
694
690
695
### Rollout, Upgrade and Rollback Planning
691
696
@@ -766,41 +771,50 @@ _For beta, this section is required: reviewers must answer these questions._
766
771
_ For GA, this section is required: approvers should be able to confirm the
767
772
previous answers based on experience in the field._
768
773
769
- * ** Will enabling / using this feature result in any new API calls?**
774
+ * ** Will enabling / using this feature result in any new API calls?** Yes
770
775
Describe them, providing:
771
776
- API call type (e.g. PATCH pods)
777
+ - One new PATCH PodStatus API call in response to Pod resize request.
778
+ - No additional overhead unless Pod resize is invoked.
772
779
- estimated throughput
773
780
- originating component(s) (e.g. Kubelet, Feature-X-controller)
781
+ - Kubelet
774
782
focusing mostly on:
775
783
- components listing and/or watching resources they didn't before
776
784
- API calls that may be triggered by changes of some Kubernetes resources
777
785
(e.g. update of object X triggers new updates of object Y)
778
786
- periodic API calls to reconcile state (e.g. periodic fetching state,
779
787
heartbeats, leader election, etc.)
780
788
781
- * ** Will enabling / using this feature result in introducing new API types?**
789
+ * ** Will enabling / using this feature result in introducing new API types?** No
782
790
Describe them, providing:
783
791
- API type
784
792
- Supported number of objects per cluster
785
793
- Supported number of objects per namespace (for namespace-scoped objects)
786
794
787
795
* ** Will enabling / using this feature result in any new calls to the cloud
788
- provider?**
796
+ provider?** No
789
797
790
798
* ** Will enabling / using this feature result in increasing size or count of
791
- the existing API objects?**
799
+ the existing API objects?** Yes
792
800
Describe them, providing:
793
801
- API type(s):
794
802
- Estimated increase in size: (e.g., new annotation of size 32B)
795
803
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
804
+ - type Container has new field ResizePolicy, a list that adds upto 50 bytes.
805
+ - type PodStatus has a new field, a list that adds upto 32 bytes.
806
+ - type ContainerStatus has new field of type v1.ResourceList that mirrors
807
+ Container.Resources.Requests in size.
808
+ - type ContainerStatus has new field of type v1.ResourceRequirements that
809
+ mirrors Container.Resources in size.
796
810
797
811
* ** Will enabling / using this feature result in increasing time taken by any
798
- operations covered by [ existing SLIs/SLOs] ?**
812
+ operations covered by [ existing SLIs/SLOs] ?** No
799
813
Think about adding additional work or introducing new steps in between
800
814
(e.g. need to do X to start a container), etc. Please describe the details.
801
815
802
816
* ** Will enabling / using this feature result in non-negligible increase of
803
- resource usage (CPU, RAM, disk, IO, ...) in any components?**
817
+ resource usage (CPU, RAM, disk, IO, ...) in any components?** No
804
818
Things to keep in mind include: additional in-memory state, additional
805
819
non-trivial computations, excessive access to disks (including increased log
806
820
volume), significant amount of data sent and/or received over network, etc.
0 commit comments