Skip to content

psowa001/elk-stack-helm-chart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ELK Stack Helm Chart

This Helm chart deploys the ELK Stack (Elasticsearch, Logstash, and Kibana) on Kubernetes.

Components

  • Elasticsearch: Distributed search and analytics engine
  • Logstash: Data processing pipeline
  • Kibana: Data visualization and exploration tool

Installation

# Add the chart repository (if using a repository)
helm repo add elk-stack .

# Install the chart
helm install my-elk-stack ./elk-stack

# Or install with custom values
helm install my-elk-stack ./elk-stack -f custom-values.yaml

Configuration

The following table lists the configurable parameters and their default values:

Global Parameters

Parameter Description Default
global.storageClass Global storage class ""

Elasticsearch Parameters

Parameter Description Default
elasticsearch.enabled Enable Elasticsearch true
elasticsearch.replicas Number of Elasticsearch replicas 3
elasticsearch.image.repository Elasticsearch image repository docker.elastic.co/elasticsearch/elasticsearch
elasticsearch.image.tag Elasticsearch image tag 8.11.0
elasticsearch.persistence.enabled Enable persistent storage true
elasticsearch.persistence.size Storage size 10Gi

Logstash Parameters

Parameter Description Default
logstash.enabled Enable Logstash true
logstash.replicas Number of Logstash replicas 2
logstash.image.repository Logstash image repository docker.elastic.co/logstash/logstash
logstash.image.tag Logstash image tag 8.11.0

Kibana Parameters

Parameter Description Default
kibana.enabled Enable Kibana true
kibana.replicas Number of Kibana replicas 1
kibana.image.repository Kibana image repository docker.elastic.co/kibana/kibana
kibana.image.tag Kibana image tag 8.11.0
kibana.service.type Kibana service type LoadBalancer

Accessing the Services

  • Kibana: Access via LoadBalancer service on port 5601
  • Elasticsearch: Internal service on port 9200
  • Logstash: Internal service on port 5044 for Beats input

Customization

You can customize the deployment by creating a custom-values.yaml file:

elasticsearch:
  replicas: 1
  persistence:
    size: 5Gi

kibana:
  service:
    type: NodePort

logstash:
  config: |
    input {
      beats {
        port => 5044
      }
    }
    output {
      elasticsearch {
        hosts => ["elasticsearch:9200"]
        index => "custom-%{+YYYY.MM.dd}"
      }
    }

Uninstallation

helm uninstall my-elk-stack

Notes

  • This chart uses Elasticsearch 8.11.0 with security disabled for simplicity
  • Persistent volumes are used for Elasticsearch data
  • The Logstash configuration can be customized via values.yaml
  • Kibana is exposed via LoadBalancer by default

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages