Cloud Native 5 min read

Deploying Elasticsearch, Logstash, Filebeat, and Kibana with Helm on Kubernetes

This guide walks through step‑by‑step Helm commands and configuration tweaks to deploy the ELK stack—Elasticsearch, Logstash, Filebeat, and Kibana—on a Kubernetes cluster, covering package fetching, chart installation, namespace usage, and pod verification.

Practical DevOps Architecture
Practical DevOps Architecture
Practical DevOps Architecture
Deploying Elasticsearch, Logstash, Filebeat, and Kibana with Helm on Kubernetes

1. Deploy Elasticsearch

Download the Elasticsearch Helm chart locally: [root@master elk]# helm fetch elastic/elasticsearch Enter the chart directory and inspect its contents:

[root@master elk]# cd elasticsearch/
[root@master elasticsearch]# ll

Typical files include Chart.yaml, values.yaml, templates/, etc.

Adjust the master node count to 1 (as shown in the accompanying screenshots) and install the chart:

[root@master elasticsearch]# helm install elasticsearch -f values.yaml elastic/elasticsearch --namespace elk

Verify the pods:

[root@master elasticsearch]# kubectl get pods -n elk -l app=elasticsearch-master

2. Deploy Logstash

Fetch the Logstash chart and extract it:

[root@master elasticsearch]# helm fetch elastic/logstash
[root@master elk]# tar -zxvf logstash-7.17.3.tgz

The deployment is configured without a persistent volume (see screenshot).

Install Logstash:

root@master logstash]# helm install logstash -f values.yaml elastic/logstash --namespace elk

Check the pods:

[root@master logstash]# kubectl get pods --namespace=elk -l app=logstash-logstash
[root@master logstash]# kubectl get pods --namespace=elk -l app=logstash-logstash -w

3. Deploy Filebeat

Download the Filebeat chart and extract it:

[root@master ~]# cd /data/elk/
[root@master elk]# helm fetch elastic/filebeat
[root@master elk]# tar -zxf filebeat-7.17.3.tgz
[root@master elk]# cd filebeat/

Install Filebeat:

[root@master elk]# helm install filebeat elastic/filebeat --namespace elk

Verify the pods:

root@master filebeat]# kubectl get pods --namespace=elk -l app=filebeat-filebeat

4. Deploy Kibana

Fetch the Kibana chart: [root@master elk]# helm fetch elastic/kibana Change the service type to NodePort (as shown in the screenshot) and extract the package:

[root@master elk]# tar -zxf kibana-7.17.3.tgz
[root@master elk]# cd kibana/

Edit values.yaml if needed, then install: [root@master kibana]# vim values.yaml Check all ELK pods in the elk namespace: [root@master kibana]# kubectl get pods --namespace=elk Typical output shows running pods for Elasticsearch masters, Filebeat instances, Logstash, and Kibana:

Finally, the article encourages readers to like, share, and follow if they found the guide helpful.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ELKLogstashKibanahelm
Practical DevOps Architecture
Written by

Practical DevOps Architecture

Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.