Skip to content

How to install HAProxy in kubernetes using helm chart

Last updated on April 20, 2023

Installing HAProxy in Kubernetes can be a complex process, but using Helm charts can simplify the process significantly. Helm is a package manager for Kubernetes that allows you to deploy and manage applications in a Kubernetes cluster.

In this post, we will walk you through the steps to install HAProxy in Kubernetes using Helm charts.

Step 1: Install Helm

The first step is to install Helm on your local machine. You can follow the official documentation to install Helm on your machine.

Step 2: Add the HAProxy Helm chart repository

Once Helm is installed, you need to add the HAProxy Helm chart repository to your Helm client.

helm repo add haproxytech https://haproxytech.github.io/helm-charts
helm repo update

Step 3: Install the HAProxy chart

To install the HAProxy chart, run the following command:

helm install haproxy haproxytech/haproxy

This will install HAProxy in your Kubernetes cluster. You can verify the installation by running the following command:

kubectl get pods

You should see a new pod named `haproxy-<random-string>`.

Step 4: Configure HAProxy

By default, the HAProxy chart comes with a basic configuration file that listens on port 80 and forwards requests to the backend pods. However, you may want to customize the configuration file based on your requirements.

To do this, you need to create a ConfigMap with your custom configuration file and mount it to the HAProxy pod.

Create a new file called ‘haproxy.cfg’ with your custom configuration and run the following command:

kubectl create configmap haproxy-cfg --from-file=haproxy.cfg

This will create a new ConfigMap with your custom configuration file.

Next, edit the `values.yaml` file for the HAProxy chart and add the following configuration:

config:
configMapName: haproxy-cfg
configFileName: haproxy.cfg

This will mount the ConfigMap to the HAProxy pod and use the custom configuration file.

Step 5: Verify HAProxy configuration

To verify that HAProxy is configured correctly, you can run the following command:

kubectl port-forward svc/haproxy 8080:80

This will forward port 80 of the HAProxy service to port 8080 on your local machine.

Next, open a web browser and navigate to http://localhost:8080. You should see the default HAProxy page.

Conclusion

In this post, we have shown you how to install HAProxy in Kubernetes using Helm charts. With Helm, you can easily deploy and manage applications in your Kubernetes cluster. By customizing the configuration file, you can tailor HAProxy to your specific requirements.

Published inAutomationKubernetesLinuxOther