The purpose of this guide is to get you started with StormForge Optimize Live.
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.
Once the application is created, you can click on the application and enable recommendations in the Optimize Live tab.
Container Resources allows you to select the deployments to be optimized within the application.
The CPU section provides guardrails for the recommendation in
The memory section provides these guardrails in
For both CPU and memory, a risk tolerance can be chosen.
low risk tolerance will minimize the risk of hitting a resource limit.
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.
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.
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.
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
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.
The CLI allows to export the latest recommendations grouped for an application as a patch:
stormforge patch application-nameto patch the resource directly
stormforge patch application-name -f deployment.ymlto output the patched resource definition
stormforge patch application-name --directory .to write patch files compatible with
kubectl patch --path-file
stormforge patch my-redis-app -f redis.yaml uses the latest recommendations from the StormForge API to patch the redis manifest.