kubernetes/cluster/addons/fluentd-elasticsearch
Kubernetes Submit Queue ae0ca36695 Merge pull request #48722 from aknuds1/upgrade-fluentd-elasticsearch
Automatic merge from submit-queue (batch tested with PRs 48365, 49902, 49808, 48722, 47045)

Upgrade fluentd-elasticsearch addon to Elasticsearch/Kibana 5.5

This is a patch to upgrade the fluentd-elasticsearch addon to Elasticsearch/Kibana 5.5. Please provide feedback!

```release-notes
* Upgrade Elasticsearch/Kibana to 5.5.1 in fluentd-elasticsearch addon
* Switch to basing our image of Elasticsearch in fluentd-elasticsearch addon off the official one
* Switch to the official image of Kibana in fluentd-elasticsearch addon
* Use StatefulSet for Elasticsearch instead of ReplicationController, with persistent volume claims
* Require authenticating towards Elasticsearch, as Elasticsearch 5.5 by default requires basic authentication
```
2017-08-02 22:32:59 -07:00
..
es-image Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
fluentd-es-image Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
env-configmap.yaml Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
env-secret.yaml Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
es-clusterrole.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
es-clusterrolebinding.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
es-service.yaml Adds the new addon-manager labels on cluster addon templates 2017-02-24 16:53:12 -08:00
es-serviceaccount.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
es-statefulset.yaml Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
fluentd-es-clusterrole.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
fluentd-es-clusterrolebinding.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
fluentd-es-ds.yaml Merge pull request #48722 from aknuds1/upgrade-fluentd-elasticsearch 2017-08-02 22:32:59 -07:00
fluentd-es-serviceaccount.yaml Add rbac support to fluentd-elasticsearch 2017-06-16 08:44:24 +02:00
kibana-deployment.yaml Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00
kibana-service.yaml Adds the new addon-manager labels on cluster addon templates 2017-02-24 16:53:12 -08:00
OWNERS Added coffeepac to ElasticSearch owners 2017-05-13 07:48:09 +02:00
README.md Upgrade Elasticsearch/Kibana to 5.5.1 and use official Kibana image 2017-08-02 19:40:19 +02:00

Elasticsearch Add-On

This add-on consists of a combination of Elasticsearch, Fluentd and Kibana. Elasticsearch is a search engine that is responsible for storing our logs and allowing for them to be queried. Fluentd sends log messages from Kubernetes to Elasticsearch, whereas Kibana is a graphical interface for viewing and querying the logs stored in Elasticsearch.

Elasticsearch

Elasticsearch is deployed as a StatefulSet, which is like a Deployment, but allows for maintaining state on storage volumes.

Authentication

Elasticsearch has basic authentication enabled by default, in our configuration the credentials are at their default values, i.e. username 'elastic' and password 'changeme'. In order to change them, please read up on the official documentation.

Initialization

The Elasticsearch Statefulset manifest specifies that there shall be an init container executing before Elasticsearch containers themselves, in order to ensure that the kernel state variable vm.max_map_count is at least 262144, since this is a requirement of Elasticsearch. You may remove the init container if you know that your host OS meets this requirement.

Storage

The Elasticsearch StatefulSet will claim a storage volume 'elasticsearch-logging', of the standard StorageClass, that by default will be 100 Gi per replica. Please adjust this to your needs (including possibly choosing a more suitable StorageClass).

Fluentd

Fluentd is deployed as a DaemonSet which spawns a pod on each node that reads logs, generated by kubelet, container runtime and containers and sends them to Elasticsearch.

Please note that for Fluentd to work, every Kubernetes node must be labeled beta.kubernetes.io/fluentd-ds-ready=true, as otherwise Fluentd will ignore them.

Learn more at: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana

Analytics