Today many enterprises running Kubernetes applications are not aware of a way to monitor and optimize the resources used by those applications.
StormForge is a platform that helps users to automate resource tuning and deliver the best Kubernetes application performance at the lowest possible cost. StormForge allows users to run an experiment with a user specified number of trials. The trial runs on an application to find the optimized resource configuration required to perform certain operations. It uses machine learning algorithms to pick the combination of CPU, RAM and other resources to run a trial.
Install and configure StormForge with T4K
Follow below instructions to install and configure the StormForge with Trilio for Kubernetes and run the experiment to find the optimized resource configuration of T4K
Install and Configure StormForge redsky-controller-manager with K8s Cluster
Download and install redskyctl CLI
curl -L https://app.stormforge.io/downloads/redskyctl-linux-amd64.tar.gz | tar x
sudo mv redskyctl /usr/local/bin/
2. Authorize the linux server from where redskyctl will be evoked to run the experiment
redskyctl login --force
Enter the URL generated by above command into the browser to authorize the Linux server
3. Verify that T4K License is applied to initiate the backup
kubectl get license
NAME STATUS MESSAGE CURRENT NODE COUNT GRACE PERIOD END TIME EDITION CAPACITY EXPIRATION TIME
test-license-1 Active Cluster License Activated successfully. 9 Basic 10 2022-04-30T00:0
4. Make sure that the Target to store the backup is configured and is in Available state
kubectl get target
NAME TYPE THRESHOLD CAPACITY VENDOR STATUS BROWSING ENABLED
demo-s3-target ObjectStore 100Gi AWS Available
5. Create a Backup plan for the application or namespace
NAME TARGET RETENTION POLICY INCREMENTAL SCHEDULE FULL BACKUP SCHEDULE STATUS
mysql-label-backupplan demo-s3-target Available
mysql-label-backupplan-1 demo-s3-target Available
3. User can monitor the running experiment being performed for each backup.
kubectl get experiment
NAME STATUS
tvk-scale-400-backup-delete-parallel-prod Running
4. Check the new Trial running by the experiment
kubectl get trial
NAME STATUS ASSIGNMENTS VALUES
tvk-scale-400-backup-delete-parallel-prod-000 Setting up deploymentMemory=512, deploymentCpu=250, metaCpu=500, metaMemory=512, dataMemory=1536, dataCpu=1200
5. Verify the jobs
kubectl get jobs
NAME COMPLETIONS DURATION AGE
tvk-scale-2-backup-delete-parallel-prod-001 0/1 4d3h 4d3h
tvk-scale-2-backup-delete-parallel-prod-001-create 1/1 51s 4d3h
tvk-scale-2-backup-delete-parallel-prod-001-delete 1/1 6s 4d3h
Monitor the Experiment from StormForge UI
After the experiment is in running state, user can view the progress at the StormForge UI using the login they have configured.
2. Once the experiment run is complete, StormForge experiment will show the recommended configuration with resource details.
Delete / Remove StormForge Experiment
After the experiment run is complete, user can remove the StormForge redsky-controller-manager with simple commands
Delete the experiment from kubernetes cluster along with all other resources
Using StormForge, users can create desired experiments. Users run those experiments on Kubernetes cluster with applications running and perform operations like Backup/Restore. StormForge UI will provide the analysis through a well curated graph. It will show the best to worst combination of resources used to perform the operation in a particular trial. These optimized resource combinations can be applied in the production clusters to achieve the desired RPO/RTO.