mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
Promote elastic-stack to stable (#8811)
* Promote elastic-stack to stable Signed-off-by: Pete Brown <pete.brown@powerhrg.com> * Fix version of old chart Signed-off-by: Pete Brown <pete.brown@powerhrg.com>
This commit is contained in:
@@ -1,14 +1,9 @@
|
||||
# elastic-stack has been promoted to stable
|
||||
deprecated: true
|
||||
apiVersion: v1
|
||||
description: A Helm chart for ELK
|
||||
home: https://www.elastic.co/products
|
||||
icon: https://www.elastic.co/assets/bltb35193323e8f1770/logo-elastic-stack-lt.svg
|
||||
name: elastic-stack
|
||||
version: 0.11.0
|
||||
version: 0.11.1
|
||||
appVersion: 6.0
|
||||
maintainers:
|
||||
- name: rendhalver
|
||||
email: pete.brown@powerhrg.com
|
||||
- name: jar361
|
||||
email: jrodgers@powerhrg.com
|
||||
- name: christian-roggia
|
||||
email: christian.roggia@gmail.com
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Elastic-stack Helm Chart
|
||||
|
||||
**Note - this chart has been deprecated and [moved to stable](../../stable/elastic-stack)**.
|
||||
|
||||
This chart installs an elasticsearch cluster with kibana and logstash by default.
|
||||
You can optionally disable logstash and install Fluentd if you prefer. It also optionally installs filebeat, nginx-ldapauth-proxy and elasticsearch-curator.
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
The elasticsearch cluster and associated extras have been installed.
|
||||
|
||||
***
|
||||
Please note that this chart has been deprecated and moved to stable.
|
||||
Going forward please use the stable version of this chart.
|
||||
***
|
||||
|
||||
Kibana can be accessed:
|
||||
|
||||
* Within your cluster, at the following DNS name at port 9200:
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
description: A Helm chart for ELK
|
||||
home: https://www.elastic.co/products
|
||||
icon: https://www.elastic.co/assets/bltb35193323e8f1770/logo-elastic-stack-lt.svg
|
||||
name: elastic-stack
|
||||
version: 1.0.0
|
||||
appVersion: 6.0
|
||||
maintainers:
|
||||
- name: rendhalver
|
||||
email: pete.brown@powerhrg.com
|
||||
- name: jar361
|
||||
email: jrodgers@powerhrg.com
|
||||
- name: christian-roggia
|
||||
email: christian.roggia@gmail.com
|
||||
@@ -0,0 +1,6 @@
|
||||
approvers:
|
||||
- christian-roggia
|
||||
- rendhalver
|
||||
reviewers:
|
||||
- christian-roggia
|
||||
- rendhalver
|
||||
@@ -0,0 +1,43 @@
|
||||
# Elastic-stack Helm Chart
|
||||
|
||||
This chart installs an elasticsearch cluster with kibana and logstash by default.
|
||||
You can optionally disable logstash and install Fluentd if you prefer. It also optionally installs filebeat, nginx-ldapauth-proxy and elasticsearch-curator.
|
||||
|
||||
## Prerequisites Details
|
||||
|
||||
* Kubernetes 1.8+
|
||||
* PV dynamic provisioning support on the underlying infrastructure
|
||||
|
||||
## Chart Details
|
||||
This chart will do the following:
|
||||
|
||||
* Implemented a dynamically scalable elasticsearch cluster using Kubernetes StatefulSets/Deployments
|
||||
* Multi-role deployment: master, client (coordinating) and data nodes
|
||||
* Statefulset Supports scaling down without degrading the cluster
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```bash
|
||||
$ helm install --name my-release stable/elastic-stack
|
||||
```
|
||||
|
||||
## Deleting the Charts
|
||||
|
||||
Delete the Helm deployment as normal
|
||||
|
||||
```
|
||||
$ helm delete my-release
|
||||
```
|
||||
|
||||
Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them:
|
||||
|
||||
```
|
||||
$ kubectl delete pvc -l release=my-release,component=data
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Each requirement is configured with the options provided by that Chart.
|
||||
Please consult the relevant charts for their configuration options.
|
||||
@@ -0,0 +1,33 @@
|
||||
dependencies:
|
||||
- name: elasticsearch
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.13.2
|
||||
- name: kibana
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 0.16.4
|
||||
- name: filebeat
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.0.3
|
||||
- name: logstash
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.1.0
|
||||
- name: fluentd
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.0.0
|
||||
- name: fluent-bit
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 0.15.0
|
||||
- name: fluentd-elasticsearch
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.1.0
|
||||
- name: nginx-ldapauth-proxy
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 0.1.2
|
||||
- name: elasticsearch-curator
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 1.0.1
|
||||
- name: elasticsearch-exporter
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 0.4.1
|
||||
digest: sha256:8107bab1d2e9cff9bb3452bd3f21fa0e3a681a62a79a732466a2dafb7ad2d3d3
|
||||
generated: 2018-11-01T13:44:47.784814059-04:00
|
||||
@@ -0,0 +1,39 @@
|
||||
dependencies:
|
||||
- name: elasticsearch
|
||||
version: ^1.10.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
- name: kibana
|
||||
version: ^0.16.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
- name: filebeat
|
||||
version: ^1.0.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: filebeat.enabled
|
||||
- name: logstash
|
||||
version: ^1.1.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: logstash.enabled
|
||||
- name: fluentd
|
||||
version: ^1.0.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: fluentd.enabled
|
||||
- name: fluent-bit
|
||||
version: ^0.13.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: fluent-bit.enabled
|
||||
- name: fluentd-elasticsearch
|
||||
version: ^1.0.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: fluentd-elasticsearch.enabled
|
||||
- name: nginx-ldapauth-proxy
|
||||
version: ^0.1.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: nginx-ldapauth-proxy.enabled
|
||||
- name: elasticsearch-curator
|
||||
version: ^1.0.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: elasticsearch-curator.enabled
|
||||
- name: elasticsearch-exporter
|
||||
version: ^0.4.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: elasticsearch-exporter.enabled
|
||||
@@ -0,0 +1,31 @@
|
||||
The elasticsearch cluster and associated extras have been installed.
|
||||
|
||||
Kibana can be accessed:
|
||||
|
||||
* Within your cluster, at the following DNS name at port 9200:
|
||||
|
||||
{{ template "kibana.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
|
||||
|
||||
* From outside the cluster, run these commands in the same shell:
|
||||
{{- if contains "NodePort" .Values.kibana.service.type }}
|
||||
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "kibana.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.kibana.service.type }}
|
||||
|
||||
WARNING: You have likely exposed your Elasticsearch cluster direct to the internet.
|
||||
Elasticsearch does not implement any security for public facing clusters by default.
|
||||
As a minimum level of security; switch to ClusterIP/NodePort and place an Nginx gateway infront of the cluster in order to lock down access to dangerous HTTP endpoints and verbs.
|
||||
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ template "kibana.fullname" . }}'
|
||||
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "kibana.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:9200
|
||||
{{- else if contains "ClusterIP" .Values.kibana.service.type }}
|
||||
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "kibana.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:5601 to use Kibana"
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} $POD_NAME 5601:5601
|
||||
{{- end }}
|
||||
@@ -0,0 +1,32 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "elastic-stack.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "elastic-stack.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "elastic-stack.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,63 @@
|
||||
# Default values for elk.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
kibana:
|
||||
env:
|
||||
ELASTICSEARCH_URL: http://http.default.svc.cluster.local:9200
|
||||
|
||||
logstash:
|
||||
enabled: true
|
||||
# elasticsearch:
|
||||
# host: elastic-stack-elasticsearch-client
|
||||
|
||||
filebeat:
|
||||
enabled: false
|
||||
# config:
|
||||
# output.file.enabled: false
|
||||
# output.logstash:
|
||||
# hosts: ["elastic-stack-logstash:5044"]
|
||||
# indexTemplateLoad:
|
||||
# - elastic-stack-elasticsearch-client:9200
|
||||
|
||||
fluentd:
|
||||
enabled: false
|
||||
|
||||
fluent-bit:
|
||||
enabled: false
|
||||
|
||||
fluentd-elasticsearch:
|
||||
enabled: false
|
||||
|
||||
nginx-ldapauth-proxy:
|
||||
enabled: false
|
||||
# Example config to get it working with ELK. Adjust as you need to.
|
||||
# proxy:
|
||||
# port: 5601
|
||||
# # This is the internal hostname for the kibana service
|
||||
# host: "elk-kibana.default.svc.cluster.local"
|
||||
# authName: "ELK:Infrastructure:LDAP"
|
||||
# ldapHost: "ldap.example.com"
|
||||
# ldapDN: "dc=example,dc=com"
|
||||
# ldapFilter: "objectClass=organizationalPerson"
|
||||
# ldapBindDN: "cn=reader,dc=example,dc=com"
|
||||
# requires:
|
||||
# - name: "ELK-USER"
|
||||
# filter: "cn=elkuser,ou=groups,dc=example,dc=com"
|
||||
# ingress:
|
||||
# enabled: true
|
||||
# hosts:
|
||||
# - "elk.example.com"
|
||||
# annotations:
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# tls:
|
||||
# - hosts:
|
||||
# - elk.example.com
|
||||
# secretName: example-elk-tls
|
||||
# secrets:
|
||||
# ldapBindPassword: PASSWORD
|
||||
elasticsearch-curator:
|
||||
enabled: false
|
||||
|
||||
elasticsearch-exporter:
|
||||
enabled: false
|
||||
Reference in New Issue
Block a user