Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

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

Packages

Contributors

Languages