Configuration
3 minute read
The purpose of this guide is to get you started with StormForge Optimize Live.
If you encounter any issues or require assistance, please reach out to us via Slack or contact us at support@stormforge.io.
Creating an Application
Once you have authenticated and logged into StormForge, you will see a menu on the left side of the browser with “Applications” and “Clusters”. If you have installed the StormForge Optimize Live controller you will see your cluster in the “Clusters” section. Proceed to create your first application in the “Applications” section by clicking “Add Application” on the top right.
An application is a grouping of resources (deployments, statefulsets) that can live in one or many namespaces.
Enabling Recommendations
Once the application is created, you can click on the application and enable recommendations in the Optimize Live tab.
Container Resources
Container Resources
allows you to select the deployments to be optimized within the application.
The CPU section provides guardrails for the recommendation in millicores
.
The memory section provides these guardrails in Mi
.
For both CPU and memory, a risk tolerance can be chosen.
A low
risk tolerance will minimize the risk of hitting a resource limit.
A high
risk tolerance will maximize utilization at the cost of occasionally hitting a resource limit.
Note that Optimize Live provides also a resource limit to avoid CPU throttling even when the tolerance setting is high.
To avoid potential out of memory (OOM) errors, consider choosing a low tolerance setting for memory.
Recommendation Frequency
The recommendation frequency defines the frequency at which the deployable configurations are made. The recommendations can be either deployed manually or automatically. Manual setting requires the user to press “Approve Recommendation” while automatic deploys the recommendations in the cluster at the frequency set by the user.
Deploying Recommendations
After enabling Optimize Live, a set of components will be created inside the stormforge-system
namespace in your cluster.
It will take a few moments to produce the recommendations for your application.
The recommendations can be deployed directly in the cluster by clicking “Apply Recommendations”.
You can get updated recommendations using “refresh”. You can also update the configuration for these configurations at anytime.
Reviewing Recommendations
In StormForge you can inspect the most recent recommendations.
A Grafana dashboard also exists in the stormforge-system
to visualize the history of recommendations.
This can be accessed through the grafana service and port-forwarding.
ulimit -n 65535; kubectl port-forward -n stormforge-system svc/grafana 3000:80
The Optimize Live
dashboard shows detailed information for the CPU and memory of the selected workloads.
The current resource requests, limits, and utilization are displayed along with our recommended values.
You can filter by application, namespace, workload/deployment and container.
Export Recommendations
The CLI (v2.1.1+) allows to export the latest recommendations grouped for an application as a patch. Running stormforge export application-name -p
generates the patch that can be applied to manifests or deployed application. For example stormforge export my-redis-app -f redis.yaml
uses the latest recommendations from the StormForge API to patch the redis manifest.