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.
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]# llTypical 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 elkVerify the pods:
[root@master elasticsearch]# kubectl get pods -n elk -l app=elasticsearch-master2. 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.tgzThe deployment is configured without a persistent volume (see screenshot).
Install Logstash:
root@master logstash]# helm install logstash -f values.yaml elastic/logstash --namespace elkCheck 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 -w3. 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 elkVerify the pods:
root@master filebeat]# kubectl get pods --namespace=elk -l app=filebeat-filebeat4. 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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
