Merged
Conversation
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the feature/update/fix?
Feature: Kubernetes Vertical Pod Autoscaler (VPA) Support
We have added native support for Kubernetes Vertical Pod Autoscaler (VPA) in Convox, enabling automatic right-sizing of CPU and memory resources for your services. VPA monitors your workloads over time, generates resource recommendations based on actual usage patterns, and can automatically apply optimized resource requests and limits to your pods.
This feature is configured through a new
vpablock under your service'sscaleconfiguration inconvox.yml, with granular controls for update behavior, resource boundaries, and recommendation targeting.Why is this important?
Benefits of Vertical Pod Autoscaler Support:
This feature is especially valuable for:
How to use it?
1. Enable VPA on Your Rack
First, enable the Vertical Pod Autoscaler on your rack by setting the
vpa_enableparameter:2. Configure VPA for Your Services
Add the
vpablock under thescaleconfiguration for any service in yourconvox.yml:Configuration Options
OffOff,Initial,Recreate"100"for 100m)"1000"for 1000m)"128"for 128Mi)"2048"for 2048Mi)falsefalsefalseUpdate Modes Explained
Important Considerations
minCpu,maxCpu,minMem, andmaxMemto ensure recommendations stay within acceptable ranges for your application.Does it have a breaking change?
No breaking changes are introduced with this update.
Existing services without VPA configuration will continue to operate with their current resource settings. VPA must be explicitly enabled at both the rack level and the service level to take effect.
Requirements
This feature requires version
3.23.3or later for the rack.Update the Rack: Run
convox rack update 3.23.3 -r rackNameto update to this version. Note that your rack must already be on at least version3.22.0before performing this update.If you're unfamiliar with v3 rack versioning, we recommend reviewing the documentation on Updating a Rack before applying any updates.