No items found.
October 8, 2022

Introducing Delegate Installation via Helm

Table of Contents

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.

You might also like
No items found.

Similar Blogs

No items found.
Gitness
Code Repository
Software Supply Chain Assurance
Infrastructure as Code Management
AIDA
Continuous Error Tracking
Internal Developer Portal
Software Engineering Insights
Platform
Cloud Cost Management
Chaos Engineering
Continuous Delivery & GitOps
Security Testing Orchestration
Service Reliability Management
Feature Flags
Continuous Integration