Install the Edge Delta Agent with Helm

Instructions for installing the Edge Delta Agent on Kubernetes using Helm.

The Edge Delta Agent can be installed in a Kubernetes environment using Helm. It is installed as a DaemonSet - a pod on every node. It analyses logs from each pod in each node as well as metrics from the cluster, and streams them to the configured destinations.


Install with Default Settings

You can install Edge Delta using Helm without changing any default settings. You first create an Edge Delta agent configuration for Helm if one doesn’t exist. Then you deploy the agent by downloading the Edge Delta Helm chart and installing it, passing in a secret key to your Edge Delta web app configuration.

Create an Edge Delta Agent Configuration

Select the Helm template option while following these steps:

  1. In the Edge Delta App, click Pipelines, and select Pipelines.
  2. Click New Pipeline.
  3. Select the appropriate template.
  4. Specify a tag to identify the agent and environment.
  5. Click Create Configuration.
  6. A new default agent is created. Review the agent configuration in Visual Pipelines.

When you return to the Pipelines page, the new agent configuration is listed.

Deploy an Edge Delta Agent

  1. In the table, locate the newly created configuration, click the corresponding vertical green ellipses, and click Deploy Instructions.
  2. Select Helm.
  3. In the window that appears, follow the on-screen instructions.

These onscreen instructions step you through getting an updated Edge Delta Helm chart and installing the chart with two extra parameters:

  • -n edgedelta --create-namespace to create the edgedelta namespace, and
  • --set secretApiKey.value= to specify an API key that the web app generates and adds to the command.

Install with Custom Settings

As with other Helm charts, there are a few ways to pass in optional or customized configuration parameters. You can download the chart and edit the values.yaml file, you can create a yaml file and pass in the whole file as a child configuration, or you can pass in specific parameters.

Creating a copy of the chart and editing the values file will disconnect your chart from the Edge Delta repo so it won’t benefit from upgrades published there. If you update your local chart, you will have to re-configure your local values.yaml file before upgrading your customized release. Passing in a child values file or individual parameters is recommended for customizations.

Individual parameters passed in with –set take precedence over passed in values files, which in turn take precedence over the default values file. For example if all three are used and they all contain a parameter but with different values, the value passed in during installation with –set will be used.

Get the Agent Configuration Key

Each custom settings approach requires you to pass in the key generated by the Edge Delta web app for your agent.

  1. Click Pipeline - Pipelines.
  2. Select the configuration, click the kebab (⋮) icon and select Edit YAML.
  3. Use the key when installing the Helm chart by passing it in with –set, or by including it in your organization’s key store.

Secret keys should not be saved in plain text. A key store should be used in line with your organization’s secret management policy.

Pass in a Child Values File

You can pass in a child values.yaml file into the default chart during the installation. The values in this child manifest will override the values in the default chart (unless individual parameters are also passed in with –set, then they will be used). The parts of the default values file that aren’t contradicted by the passed in file will still apply - your custom values file doesn’t need to contain the entire default file, only the parts that have changed.

  1. Download and update the Edge Delta Helm repo
helm repo add edgedelta https://edgedelta.github.io/charts
helm repo update
  1. Create a yaml file and populate it with your customizations. See Values Variables for information on the changes that can be made.
  2. Get the Edge Delta Agent configuration’s secret key.
  3. Navigate to the folder where you saved your yaml file.
  4. Install the chart, while passing in the override file with the –values flag. You should pass in the secret key copied in the previous step with –set. It is also best practice to pass in and create a namespace. The following example shows the command passing in a file named myvalues.yaml with an example key 123456789. It will install in the edgedelta namespace, which it will create:
helm install edgedelta --values myvalues.yaml edgedelta/edgedelta --set secretApiKey.value=123456789 -n edgedelta --create-namespace`

See the Tutorial in the Prometheus Integration page for an example of using a Helm values file.

Pass in Individual Parameters

If you only need to customize a few parameters, you can use a –set flag to pass in individual parameters during the installation. Bear in mind these parameters need to be passed in every time you install or upgrade the release.

  1. Download and update the Edge Delta Helm repo
helm repo add edgedelta https://edgedelta.github.io/charts
helm repo update
  1. Get the Edge Delta Agent configuration’s secret key.
  2. Install the chart, while passing in the secret key copied in the previous step with –set. It is also best practice to pass in and create a namespace. The following example shows the command passing in an example key 123456789. In addition, it will install in the edgedelta namespace, which it will create.
helm install edgedelta edgedelta/edgedelta --set secretApiKey.value=123456789 -n edgedelta --create-namespace`

Edit the Chart Values File

You can download the default values file and make changes to your copy. Then you install the application using your local version.

  1. Download the default chart’s values.yaml file.
  2. Make changes to the values.yaml file. See Values Variables for information on the changes that can be made.
  3. Get the Edge Delta Agent configuration’s secret key.
  4. Install the customized helm chart with the path to the unarchived files and pass in the secret key copied in the previous step. It is also best practice to pass in and create a namespace. The following example shows the command but with an example key 123456789:
helm install edgedelta path/to/values --set secretApiKey.value=123456789 -n edgedelta --create-namespace`

Uninstall Edge Delta using Helm

To uninstall the Edge Delta release from Kubernetes, use the helm delete command, specifying the release name and the namespace:

helm delete edgedelta -n edgedelta

See Also:

GitOps Principles Deployment of Edge Delta