Install

Learn how to install StormForge Optimize Live

Prerequisites

Installation

The StormForge Optimize Live Controller runs inside your Kubernetes cluster. It is installed and managed using the StormForge CLI tool.

StormForge CLI

The StormForge CLI is used to authenticate, retrieve credentials, register, and install the controller on your Kubernetes cluster.

You can download and install the CLI tool using:

Linux Binary Download:

Amd64 | Arm64


Linux install command:

# Automatically selects either AMD64 or ARM64 architecture, downloads
# the appropriate binary, then moves it to a location in PATH
{ [ "$(uname -sm)" = "Linux x86_64"  ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_linux_amd64.tar.gz | tar -xz; } ||
{ [ "$(uname -sm)" = "Linux aarch64" ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_linux_arm64.tar.gz | tar -xz; } &&
sudo mv stormforge /usr/local/bin/

Windows Binary Download:

Amd64 | Arm64


PowerShell install command:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
If ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") { Invoke-WebRequest -Uri "https://downloads.stormforge.io/stormforge-cli/latest/stormforge_windows_amd64.zip" -Outfile "stormforge.zip" }
If ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { Invoke-WebRequest -Uri "https://downloads.stormforge.io/stormforge-cli/latest/stormforge_windows_arm64.zip" -Outfile "stormforge.zip" }
Expand-Archive "stormforge.zip" "." -WarningVariable $w; if ($w.Count -eq 0) { Remove-Item "stormforge.zip" }
# Move-Item "stormforge.exe" "C:\somewhere-in-your-PATH\stormforge.exe"

macOS Binary Download:

Amd64 | Arm64


macOS install command:

# Automatically selects either AMD64 or ARM64 architecture, downloads
# the appropriate binary, then moves it to a location in PATH
{ [ "$(uname -sm)" = "Darwin x86_64" ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_darwin_amd64.tar.gz | tar -xz; } ||
{ [ "$(uname -sm)" = "Darwin arm64"  ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_darwin_arm64.tar.gz | tar -xz; } &&
sudo mv stormforge /usr/local/bin/

Homebrew:

brew install thestormforge/tap/stormforge

We provide a container image at registry.stormforge.io/library/stormforge-cli (for linux/amd64 and linux/arm64):

docker pull registry.stormforge.io/library/stormforge-cli

We recommend setting the STORMFORGE_TOKEN environment variable (from auth new-token) if you want to use the container image directly.

Make sure that your version is v3.0.0+ by running stormforge version. Then login using a web-based form:

stormforge login

Optimize Live Controller

To install the StormForge Optimize Live Controller on your cluster, use the stormforge install command. This will install the Optimize Live Controller in the stormforge-system namespace, and register the new cluster with StormForge.

Before running the command, you will need to choose a metrics provider; either Prometheus or Datadog.

Configure Metrics Provider

To configure Optimize Live using Prometheus as its metrics provider, we we need to configure the metricsURL value.

Save the value of this setting to a metrics-provider-values.yaml file:

# metrics-provider-values.yaml
---
metricsURL: <YOUR PROMETHEUS SERVER URL>

To configure Optimize Live using Datadog as its metrics provider, we we need to configure these variables:

  • DD_API_KEY
  • DD_APP_KEY
  • DD_CLUSTER_NAME

The DD_API_KEY and DD_APP_KEY values can be generated through the DataDog platform under Organization Settings -> Access.

DD_CLUSTER_NAME is provided during the DataDog agent installation. It can be viewed by inspecting the environment variables for the agent daemonset.

Save the values of each of these variables to a metrics-provider-values.yaml file:

# metrics-provider-values.yaml
---
extraEnvVars:
- name: DD_API_KEY
  value: <YOUR_DATADOG_API_KEY>
- name: DD_APP_KEY
  value: <YOUR_DATADOG_APP_KEY>
- name: DD_CLUSTER_NAME
  value: <YOUR_DATADOG_CLUSTER_NAME>

Note: Due to Datadog API rate limits, it is expected to take at least 3 hours before Optimize Live will be able to provide recommendations.

Install Controller

Using the metrics provider configuration file created in the previous step, use stormforge install to deploy the configuration:

stormforge install optimize-live \
  --values metrics-provider-values.yaml

Next Steps

You are now ready to optimize your first application by following our configuration guide.

Last modified September 28, 2022