Deploy Compute Optimization

Prev Next

This topic describes how to deploy Zesty Compute Optimization (“Compute Optimization”).

You deploy Compute Optimization by using Helm to install the Kompass agent (“agent”). After installing the agent, the cluster is “connected” for Compute Optimization.

The agent provides visibility into your Kubernetes cluster and workload costs, scaling performance, usage, and pattern history. With agent visibility, Compute Optimization can make recommendations for your environment.

The agent collects cluster data in read-only mode. Its ClusterRole permissions and helper permissions define the Kubernetes resources and actions it can access.

For optional configuration, including credentials, storage, VictoriaMetrics, custom pricing, and node placement, see Advanced Kompass agent configuration.

Installing the agent enables the following Compute Optimization capabilities on the cluster:

You can install the Kompass agent on clusters running in the following environments:

  • EKS: Amazon Elastic Kubernetes Service

  • AKS: Azure Kubernetes Service

  • GKE: Google Kubernetes Engine

  • OKE: Oracle Container Engine for Kubernetes

  • Other: On-premises and more

Bash commands

The commands in this topic are written for Bash. If you use a different command-line shell, adapt the commands for that shell.

Prerequisites

The administrator client used to install the Kompass agent must have:

  • kubectl

  • Helm v3.14, or later

  • Access to the cluster with permission to create a namespace and a ClusterRole

Installation steps

To view the installation steps for your Kubernetes environment, expand the section.

Install on Amazon EKS

  1. Start the installation wizard:

    1. From the Compute Optimization > Dashboard (or Clusters)page, click Connect clusters.

    2. Select your Kubernetes provider.

  2. Prepare values.yaml:

    1. If cert-manager is installed in the cluster, select that option.

      cert-manager issues and renews the TLS certificates the agent needs. If it’s not already installed, we’ll install it.

    2. Enter the PVC storage class.

      This is normally the default storage class.

    3. Click Next.

  3. Install the Helm chart:

    1. Download values.yaml by copying and running the code.

    2. After values.yaml is downloaded, copy and run the Helm install code.

    3. After all Pods reach the Running or Completed state, click Helm install is done.

Once the Kompass agent is installed, Compute Optimization starts collecting cluster data.

For Multi-dimensional autoscaling, it can take up to 24 hours before recommendations are displayed.

Install on Azure Kubernetes Service (AKS)

  1. Start the installation wizard:

    1. From the Compute Optimization > Dashboard (or Clusters)page, click Connect clusters.

    2. Select your Kubernetes provider.

  2. Prepare values.yaml:

    1. If cert-manager is installed in the cluster, select that option.

      cert-manager issues and renews the TLS certificates the agent needs. If it’s not already installed, we’ll install it.

    2. Enter the PVC storage class.

      This is normally the default storage class.

    3. Click Next.

  3. Install the Helm chart:

    1. Download values.yaml by copying and running the code.

    2. After values.yaml is downloaded, copy and run the Helm install code.

    3. After all Pods reach the Running or Completed state, click Helm install is done.

Once the Kompass agent is installed, Compute Optimization starts collecting cluster data.

For Multi-dimensional autoscaling, it can take up to 24 hours before recommendations are displayed.

Install on Google Kubernetes Engine (GKE)

  1. Start the installation wizard:

    1. From the Compute Optimization > Dashboard (or Clusters)page, click Connect clusters.

    2. Select your Kubernetes provider.

  2. Enter the cluster details, then click Next.

  3. Prepare values.yaml:

    1. If cert-manager is installed in the cluster, select that option.

      cert-manager issues and renews the TLS certificates the agent needs. If it’s not already installed, we’ll install it.

    2. Enter the PVC storage class.

      This is normally the default storage class.

    3. Click Next.

  4. Install the Helm chart:

    1. Download values.yaml by copying and running the code.

    2. After values.yaml is present, copy and run the Helm install code.

  5. After all Pods reach the Running or Completed state, click Helm install is done.

Once the Kompass agent is installed, Compute Optimization starts collecting cluster data.

For Multi-dimensional autoscaling, it can take up to 24 hours before recommendations are displayed.

Install on OCI Kubernetes Engine (OKE)

  1. Start the installation wizard:

    1. From the Compute Optimization > Dashboard (or Clusters)page, click Connect clusters.

    2. Select your Kubernetes provider.

  2. Prepare values.yaml:

    1. If cert-manager is installed in the cluster, select that option.

      cert-manager issues and renews the TLS certificates the agent needs. If it’s not already installed, we’ll install it.

    2. Enter the PVC storage class.

      This is normally the default storage class.

    3. Click Next.

  3. Install the Helm chart:

    1. Download values.yaml by copying and running the code.

    2. After values.yaml is downloaded, copy and run the Helm install code.

    3. After all Pods reach the Running or Completed state, click Helm install is done.

Once the Kompass agent is installed, Compute Optimization starts collecting cluster data.

For Multi-dimensional autoscaling, it can take up to 24 hours before recommendations are displayed.

Install in another cloud or an on-premises environment

  1. Start the installation wizard:

    1. From the Compute Optimization > Dashboard (or Clusters)page, click Connect clusters.

    2. Select Other.

  2. Enter cluster details, then click Next.

  3. Prepare values.yaml:

    1. If cert-manager is installed in the cluster, select that option.

      cert-manager issues and renews the TLS certificates the agent needs. If it’s not already installed, we’ll install it.

    2. Enter the PVC storage class.

      This is normally the default storage class.

    3. Click Next.

  4. Install the Helm chart:

    1. Download values.yaml by copying and running the code.

    2. After values.yaml is present, copy and run the Helm install code.

  5. After all Pods reach the Running or Completed state, click Helm install is done.

Once the Kompass agent is installed, Compute Optimization starts collecting cluster data.

For Multi-dimensional autoscaling, it can take up to 24 hours before recommendations are displayed.

Kompass license

When you install the Kompass agent, Compute Optimization creates a Kubernetes Secret in the Zesty namespace to store the Kompass license information. Compute Optimization manages this Secret automatically.

This Secret is separate from the credentials Secret described in Advanced Kompass agent configuration.

Troubleshoot the Kompass license

If the Kubernetes Secret that stores the Kompass license information is deleted, Compute Optimization automatically recreates it with no impact on use.

If the Secret is modified, you can no longer use Kompass. Contact your CSM to recover access.

Advanced Kompass agent configuration

The installation wizard generates the values.yaml file required to install the Kompass agent. In most cases, you can use the generated configuration without making additional changes.

Before installing the Helm chart, you can edit values.yaml to customize the agent configuration.

Configure credentials

Click here to see the options for secret usage

The Kompass agent uses a credentials Secret (in addition to the license Secret) for the encrypted credentials required during installation. You can let the Helm chart create this Secret, or manage it independently using your own secret store (for example, Azure Key Vault, AWS Secrets Manager, or HashiCorp Vault).

Let Helm create the Secret

Configure values.yaml to enable secret creation and provide the encrypted credentials from Zesty.

kompass-insights:
  secret:
    create: true
    # Provide the credential value directly here
    # value: '<encrypted-credentials-provided-by-zesty>'

Use an existing Secret

Before installing the Helm chart, deploy the Secret to the zesty-system namespace. The Secret must contain the key ENCRYPTED_CREDENTIALS.

For example (Bash):

kubectl create namespace zesty-system
kubectl -n zesty-system create secret generic kompass-credentials \
--from-literal=ENCRYPTED_CREDENTIALS='<encrypted-credentials-provided-by-zesty>'

Then, remove the secret from the downloaded values.yaml and configure the Helm chart to use the existing Secret:

kompass-insights:
  secret:
    create: false
    name: kompass-credentials

Configure storage

You can configure the PVC storage class and storage sizes in values.yaml.

PVC storage class

Enter the name of the PVC StorageClass used by the agent.

If you do not know the name, run:

kubectl get storageclass

Kompass agent PVC size

For best performance, Zesty recommends setting the Kompass agent PVC size based on the number of workloads in the cluster:

Workloads

Recommended value

Up to 1,000

1Gi

1,000–5,000

3Gi

5,000–10,000

10Gi

Above 10,000

100Gi

Configure the value in values.yaml:

kompass-insights:
  persistence:
    spec:
      resources:
        requests:
          storage: "1Gi"

VictoriaMetrics server volume size

Set the VictoriaMetrics server volume size based on the number of workloads in the cluster:

Workloads

Recommended value

Up to 1,000

30Gi

1,000–10,000

60Gi

Above 10,000

100Gi

Configure the value in values.yaml:

victoriaMetrics:
  server:
    persistentVolume:
      size: "30Gi"

Configure VictoriaMetrics

Zesty uses VictoriaMetrics to store and query cluster metrics. VictoriaMetrics can run in Single-Pod mode or Cluster mode.

Single-Pod mode

Single-Pod mode is the default. It runs a standalone VictoriaMetrics instance.

This mode is suitable for small or non-production environments and provides no redundancy if the Pod becomes unavailable.

Set:

victoriaMetrics:
  enabled: true
victoriaMetricsCluster:
  enabled: false
victoriaMetricsAuth:
  enabled: true
  useSingle: true

Cluster mode

Cluster mode runs a multi-component VictoriaMetrics cluster with vmselect, vminsert, and vmstorage and multiple replicas.

This mode provides higher availability, fault tolerance, and scalability.

Cluster mode is recommended for:

  • production clusters

  • large clusters, for example, 100+ nodes or 1,000+ Pods

  • high-churn environments, where approximately 10% or more of workloads are Jobs, CI/CD pipelines, or other short-lived Pods

  • KEDA-heavy environments, where KEDA manages at least 10% of workloads

Set:

victoriaMetrics:
  enabled: false
victoriaMetricsCluster:
  enabled: true
victoriaMetricsAuth:
  enabled: true
  useSingle: false

Ensure the selected mode matches your environment’s availability and scalability requirements before installing the Helm chart.

If you edit VictoriaMetrics parameters, ensure that the values of these parameters are equal:

  • victoriaMetricsNameOverride

  • victoriaMetricsRemoteUrl

  • victoriaMetricsRemoteWriteUrl

Configure custom pricing

Use custom pricing to make the data in Compute Optimization more accurately reflect your environment.

Custom pricing applies to clusters outside AWS and Azure. AWS and Azure use public list pricing.

values.yaml contains the following default prices, in USD:

customPricing:
  cpu: 0.031611
  ram: 0.004237
  spotCpu: 0.006655
  spotRam: 0.000892

The parameters represent:

  • cpu: On-Demand price per vCPU-hour

  • ram: On-Demand price per GiB-hour

  • spotCpu: Spot price per vCPU-hour

  • spotRam: Spot price per GiB-hour

To use custom pricing, replace these values before installing the Helm chart.

Control where the agent runs

You can control the nodes on which the Kompass agent runs.

To control the nodes that run the Kompass agent, configure nodeSelector and tolerations in values.yaml, here.

View all Helm values

For a complete list of available Helm values, see the Kompass agent values.yaml file.

Uninstall the Kompass agent

To uninstall the agent, run the following Helm command:

helm uninstall <release-name> -n <namespace>

(Optional) If the namespace is dedicated to Zesty components and you want to remove it entirely, run this command also:

kubectl delete namespace <namespace>

Caution

This command deletes everything under the namespace.

© 2026 Zesty. All Rights Reserved

info@zesty.co