Cloud Costs
No items found.
Cloud costs
October 8, 2022
min read

Introducing Delegate Installation via Helm


Delegates are similar to self-hosted runners for those coming from other platforms. As soon as your Delegate is installed, it helps you perform any task you request through Harness Manager during the pipeline creation or execution process. 

Using Helm, this tutorial will show you how to install your Delegate on Kubernetes. Helm is a great way to install and manage delegates on your Kubernetes cluster as the package manager makes it easy to find and install the right delegate by swapping the values.yaml file.

Hardware Requirements

Delegates need to perform the computational tasks assigned to them by your Harness manager. That makes it necessary for Delegates to have some resource requirements.

Your Kubernetes cluster should have the following resources for Delegates and remaining operations:

  • Number of nodes: 2
  • vCPUs, Memory, Disk Size: 2vCPUs, 16 GB memory, 50GB disk 
  • Networking: outbound HTTPS(443) for the Harness connection to app.harness.io, github.com, and hub.docker.com
  • A Kubernetes service account with permission to create entities in the target namespace is required. The set of permissions should include list, get, create, and delete permissions. In general, the cluster-admin permission or admin permission is enough.

Install Helm

Helm should be installed locally before you begin using it. To test, run the following command if you have an installation:

helm version

If the following yields no results, you must install helm. To install Helm, run the following command:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

To test the installation use the helm version command.

Install Delegate

The Delegate can be installed by visiting the Create a Delegate page. Here's how to get there:

Project Setup -> Delegates -> Create a Delegate  

Choosing Kubernetes as your installation space is appropriate since Helm is a package manager for Kubernetes. 

Assign a Delegate Name and make a size selection based on your requirements. SELECT HELM Chart click Continue!

Now, you’re presented with a file which is your values.yaml. This file serves as the link between your Harness Manager and Delegate. Using this file you need to install your delegate so click on Download YAML file!

You can now install your delegate by using the following command: 

helm repo add harness https://app.harness.io/storage/harness-download/harness-helm-charts/ helm repo update

The above command will help you to link the Helm repository to your machine so you can download manifests. To apply these manifests with the values that you have downloaded use the below command:

helm install delegate-release harness/harness-delegate-ng -f harness-delegate-values.yaml --namespace harness-delegate

Note: Make sure you’re in the same directory as your harness-delegate-values.yaml!

Success will look something like this:

Congratulations! You have successfully created a Delegate using Helm!

Next Steps

With your Delegate installation complete, you can now create your first pipeline by moving forward with `Create Pipeline` and begin enhancing your software development process.

As a simple demo, you can try the quickstart on how to deploy a publicly-available NGINX Docker image and a Kubernetes manifest into your Kubernetes cluster using a rolling update strategy in Harness.

Need further help?

Feel free to ask questions at community.harness.io or  join community slack to chat with our engineers in product-specific channels like:

#continuous-delivery  Get support regarding the CD Module of Harness.

#continuous-integration Get support regarding the CI Module of Harness.

We want to hear from you

Enjoyed reading this blog post or have questions or feedback?
Share your thoughts by creating a new topic in the Harness community forum.

Sign up for our monthly newsletter

Subscribe to our newsletter to receive the latest Harness content in your inbox every month.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Continuous Delivery & GitOps