Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added minikube config to pre-req #20

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Autotune can take an arbitrarily large set of tunables and run experiments to co
- **Goal**
The user has an application that is deployed to minikube and is looking to improve some aspect of performance of the application. The user specifies an "objective function" in an "Autotune object" that defines the performance aspect of the application that needs to be optimized. Autotune then analyzes the user application, breaks it down into its component layers and provides tunables associated with each layer that can help optimize the user provided objective function.
- **Steps**
This demo installs Autotune along with Prometheus and Grafana to minikube. It also deploys two example REST CRUD applications, quakus galaxies and springboot petclinic, to the minikube cluster. It then deploys the "Autotune Objects" that define the objective function of the performance tuning that needs to be done for each application.
This demo installs Autotune along with Prometheus and Grafana to minikube. It also deploys two example REST CRUD applications, quarkus galaxies and springboot petclinic, to the minikube cluster. It then deploys the "Autotune Objects" that define the objective function of the performance tuning that needs to be done for each application.
- **What does it do ?**
It provides a list of URLs that defines the tunables for a user provided slo. See the docs for the definition of the [REST API](https://github.com/kruize/autotune/blob/master/design/API.md) associated with these URLs.

Expand All @@ -30,7 +30,24 @@ Info: Access autotune tunables using: kubectl -n monitoring get autotuneconfig
- **What does it not do ?**
It does not kick off any experiments with the tunables (as yet). Stay tuned !!
- **pre-req**
It expects minikube to be installed with atleast 8 CPUs and 16384MB Memory.
It expects minikube to be installed with atleast 8 CPUs and 16384MB Memory. The default memory limit is 2GB and CPU limit is 2. You can see the current config with the following command:
Altogether:
```
$ minikube config view vm-driver
- cpus: 2
- memory: 2048
```
Each One:
```
$ minikube config get memory
2048
$ minikube config get cpus
2
```
Also, you can set default CPU and memory while starting the minikube:
```
minikube start --cpus=8 --memory=16384
```
- ##### WARNING: The script deletes any existing minikube cluster.

## What is an Objective Function ?
Expand Down