--- title: "Install the Insights agent - AWS EKS" slug: "install-the-insights-agent-aws-eks" updated: 2026-08-26T13:02:46Z published: 2026-08-26T13:02:46Z canonical: "docs.zesty.co/install-the-insights-agent-aws-eks" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.zesty.co/llms.txt > Use this file to discover all available pages before exploring further. # Install the Insights agent - AWS EKS This topic describes how to use Helm to install the Insights agent. After installing the agent, the cluster is “connected” for Kubernetes resource optimization solutions. The Insights agent (“agent”) provides visibility into your K8s cluster and workload costs, scaling performance, usage, and pattern history. With agent visibility, Kubernetes resource optimization can make recommendations for your environment. The agent requires read-only access to the services defined in the [**Insights agent YAML**](https://github.com/zesty-co/kompass-insights/blob/main/charts/zesty/templates/clusterRole.yaml). #### Configure credentials for the agent installation To securely install the Insights agent, you must provide encrypted credentials. You can let the Helm chart create the Kubernetes Secret (default), or you can manage the secret independently using your own secret store (for example, Azure Key Vault, AWS Secrets Manager, or HashiCorp Vault). You configure this in **values.yaml**, as described in the drop-down box in [How the cluster connects](/v1/docs/install-the-insights-agent-aws-eks#how-the-cluster-connects-to-kompass). #### VictoriaMetrics settings Insights uses VictoriaMetrics to store and query cluster metrics. VictoriaMetrics can run in **Single-Pod mode** or **Cluster mode**, which determines the availability, resilience, and scalability of metrics storage and queries. - **Single-Pod mode** (default): runs a standalone VictoriaMetrics instance. This mode is suitable for small or non-production environments and provides no redundancy if the Pod becomes unavailable. - **Cluster mode**: runs a multi-component VictoriaMetrics cluster (`vmselect`, `vminsert`, and `vmstorage`) with 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 You select the deployment mode by editing **values.yaml**, as described in the drop-down box in [How the cluster connects](/v1/docs/install-the-insights-agent-aws-eks#how-the-cluster-connects-to-kompass). ### How the cluster connects to Kubernetes resource optimization To connect a cluster, use the installation wizard. The wizard has the following steps: 1. **Select cluster**: Identify the target EKS cluster and verify credentials. 2. **Prepare values.yaml**: Configure the Helm chart. 3. **Install Helm chart on cluster**: Deploy the agent. **To see the details of how the wizard works, click here.** To connect to the agent, you install a Helm chart based on a **values.yaml** file. When you click **Connect** from the **Kompass > Clusters** page, a wizard will prepare **values.yaml** as it guides you through the following steps: 1. Define specific values for the **values.yaml** file: - **cert-manager** (Mandatory): Is it installed or not? If it’s not installed, it will be installed automatically during the Helm chart installation. - **PVC storage class** (Mandatory): The name of the PVC StorageClass. The agent is installed with a PVC, so this is required. If you don’t know the name, you can discover it by running this command: `kubectl get storageclass` - **Auto update** (Recommended): Enable automatic updating of your installed agent. You can change these options: - **Version**: Get bleeding edge updates instead of GA versions. - **Time**: Receive updates on a schedule instead of as soon as they are available. - You can see the full list of YAML parameters [**here**](https://github.com/zesty-co/kompass-insights/blob/main/charts/zesty/values.yaml). 2. Download **values.yaml** to your terminal. At this point, you can make further modifications to **values.yaml**. 1. For best performance, we recommend modifying **disk usage parameters** for Kompass Insights PVC size and **VictoriaMetrics server volume size**. Based on our experience, setting these disk usage parameters based on workloads in the cluster yields the best performance: | Parameter | Workloads and value | Code | | --- | --- | --- | | Kompass Insights PVC size | - Up to 1,000 workloads = 1Gi - From 1,000 - 5,000 workloads = 3Gi - From 5,000 - 10,000 workloads = 10Gi - Above 10,000 workloads = 100Gi | ```plaintext kompass-insights: persistence: spec: resources: requests: storage: “1Gi” ``` | | VictoriaMetrics server volume size | - Up to 1,000 workloads = 30Gi - From 1,000 - 10,000 workloads = 60Gi - Above 10,000 workloads = 100Gi | ```plaintext victoriaMetrics: server: persistentVolume: size: "30Gi" ``` | 2. **Configure credentials** You can let Helm create the secret, or you can use an existing secret. **Let Helm create the Secret** Configure **values.yaml** to enable secret creation and pass in the encrypted credentials provided by Zesty. ```yaml kompass-insights:  secret:    create: true    # Provide the credential value directly here    # value: '' ``` **Use an Existing Secret** The secret must be deployed to the `zesty-system` namespace and contain the key `ENCRYPTED_CREDENTIALS` before running the Helm install. For example: ```yaml kubectl create namespace zesty-system kubectl -n zesty-system create secret generic kompass-credentials \  --from-literal=ENCRYPTED_CREDENTIALS='' ``` Then, remove the secret from the downloaded **values.yaml** and replace it with the following. Tell the Helm chart not to create the secret, and instead reference your existing secret’s name: ```yaml kompass-insights:  secret:    create: false    name: kompass-credentials ``` 3. Set the **VictoriaMetrics deployment mode** in **values.yaml**: | To enable this mode | Set these values | | --- | --- | | Single mode | `victoriaMetrics:` `  enabled: true` `victoriaMetricsCluster:` `  enabled: false` `victoriaMetricsAuth:` `  enabled: true` `  useSingle: true` | | Cluster mode | `victoriaMetrics:` `  enabled: false` `victoriaMetricsCluster:` `  enabled: true` `victoriaMetricsAuth:` `  enabled: true` `  useSingle: false` | Ensure the selected mode matches your environment’s availability and scalability requirements before running the Helm installation. For more information, see [VictoriaMetrics settings](/v1/docs/install-the-kompass-insights-agent-azure-aks#victoriametrics-settings). 4. If you edit VictoriaMetrics parameters, ensure that the values of these parameters are equal: `victoriaMetricsNameOverride`, `victoriaMetricsRemoteUrl`, and `victoriaMetricsRemoteWriteUrl`. 5. You can control the nodes on which the Insights agent runs using the `nodeSelector `and `tolerations `configurations, [**here**](https://github.com/zesty-co/kompass-insights/blob/main/charts/zesty/values.yaml#L28). 3. Install the agent Helm chart, using the definitions in **values.yaml**. You must be connected to the same cluster that you are connecting to the agent. 4. Confirm that you’re done. ### Install the agent #### Prerequisites - AWS account has been integrated with Zesty. - The administrator client on which the Insights agent will be installed must be able to use the following: - [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions) - [Kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) - [Helm](https://helm.sh/docs/intro/install/) v3.14, or later - Required [permissions](https://github.com/zesty-co/kompass-insights/blob/main/cloudFormation.yaml) - Agent permissions - [Cluster role permissions](https://github.com/zesty-co/kompass-insights/blob/main/charts/zesty/templates/clusterRole.yaml) - [Helpers permissions](https://github.com/zesty-co/kompass-insights/blob/main/charts/zesty/templates/_helpers.tpl#L94) **To install the Insights agent on an EKS cluster:** The commands in this topic are written for Bash. If you use a different command-line shell, adapt the commands for that shell. 1. Select cluster and verify content: 1. From the **Kompass > Clusters** page, click **Connect Insights agent** on the row for the cluster to connect. To connect multiple clusters, click **Connect clusters**. The **Connect cluster** wizard is displayed. 2. Select the cluster on which to install the agent. When you start typing, matching clusters are displayed. Ensure your local terminal client is actively authenticated to this same AWS cluster context using the AWS CLI and `kubectl`. 2. Prepare **values.yaml**: 1. Define the following parameter values: - **cert-manager**: If you select **No**, it will be installed. - **PVC storage class** - **Agent auto-update** (optional): To edit the agent version and update time, click **Edit auto update settings**. For more details about the parameters, see [How the cluster connects to Kubernetes resource optimization](/v1/docs/install-the-insights-agent-aws-eks#how-the-cluster-connects-to-kompass). 2. Click **Next**. The next step of the wizard is displayed. ![](https://cdn.document360.io/0eb80240-664b-49f5-9181-5713ddf9f725/Images/Documentation/k8s_AWS_connect_cluster_wizard_step_2.png) 3. Install Helm chart on the cluster: 1. Download **values.yaml** to your terminal: 1. Click the copy icon for **values.yaml** and paste the code to the terminal. 2. Run the code to download the file. After you download, you can use a file editor to edit values in the file, as described in [step 2 of the previous section](/v1/docs/install-the-insights-agent-aws-eks#how-the-cluster-connects-to-kompass). 1. Configure the VictoriaMetrics mode (default: Single mode). 2. (Recommended) Edit the values of the Kompass Insights PVC size and the VictoriaMetrics server volume size. 2. Install the Helm chart: 1. Click the copy icon for the **install command** and paste the code to the terminal. > [!NOTE] > IMPORTANT > > Before installing, ensure that you are connected to the correct cluster and that the path to Helm is correct. 2. Run the code to install the agent Helm chart. 3. When the Helm chart installation is complete, click **Helm install is done**. A confirmation message is displayed. 4. Verify the deployment by running the following command: `kubectl get pods -n zesty-system` All Pods should reach `Running `status within a few minutes. Once the Insights agent is installed, Kubernetes resource optimization starts collecting cluster data. For the Multi-dimensional autoscaling solution, it can take up to 24 hours before recommendations are displayed.