Commit Graph

124 Commits (0c669fe6cc48208ebcdd43fa2ff425fce3c359a0)

Author SHA1 Message Date
Piotr Szczesniak c00e57789d Added upgrade story from manifest pod to ds 2016-12-15 13:48:32 +01:00
Piotr Szczesniak a52637f09f Migrated fluentd to daemon set 2016-12-15 13:48:32 +01:00
keglevich3 b68e4c0a6d enable the kubernetes-metadata-plugin
instruction to users that would like to enable the fluentd kubernetes-metadata plugin.
Relevant only if you are using daemon-set
2016-12-06 23:48:19 +02:00
Kubernetes Submit Queue d77610fc4d Merge pull request #36857 from Shrugs/fix/elasticsearch-template-mapping
Automatic merge from submit-queue

fix: elasticsearch template mapping to parse kubernetes.labels

**What this PR does / why we need it**:

This PR updates the field mappings for the elasticsearch template that ships with the EFK stack implementation.

Specifically, elasticsearch cannot parse the `kubernetes.labels` object because it attempts to treat it as a string and produces an error. This update treats `kubernetes.labels` as an object and all of the properties within as a string, allowing accurate indexing and allowing users in kibana to search on `kubernetes.labels.*`.

**Release note**:
```release-note
Fluentd/Elastisearch add-on: correctly parse and index kubernetes labels
```
2016-11-29 07:33:07 -08:00
Kubernetes Submit Queue b3a89cc988 Merge pull request #37283 from Crassirostris/fluentd-es-image-version-bump
Automatic merge from submit-queue

Bump fluentd-es image version

New image version, containing changes from https://github.com/kubernetes/kubernetes/pull/37123 and https://github.com/kubernetes/kubernetes/pull/37219

Should be merged only after those two

@piosz
2016-11-22 12:47:14 -08:00
Kubernetes Submit Queue fd6a805a98 Merge pull request #37219 from Crassirostris/es-logging-image-fix
Automatic merge from submit-queue

Elasticsearch data mount is chowned after container start

Fix https://github.com/kubernetes/kubernetes/issues/37030

@piosz
2016-11-22 12:41:29 -08:00
Mik Vyatskov 81eeeec894 Bump fluentd-es image version 2016-11-22 12:03:46 +01:00
Mik Vyatskov b5b47620f5 Add kube-proxy logs to fluentd configs 2016-11-21 15:43:28 +01:00
Mik Vyatskov 1c63e0648a Elasticsearch data mount is chowned after container start 2016-11-21 13:33:49 +01:00
Mik Vyatskov cf845eda7c Remove fixed docker daemon log time format in fluentd configs 2016-11-17 15:52:07 +01:00
Kubernetes Submit Queue c98fc70195 Merge pull request #36008 from MrHohn/addon-rc-migrate
Automatic merge from submit-queue

Migrates addons from RCs to Deployments

Fixes #33698.

Below addons are being migrated:
- kube-dns
- GLBC default backend
- Dashboard UI
- Kibana

For the new deployments, the version suffixes are removed from their names. Version related labels are also removed because they are confusing and not needed any more with regard to how Deployment and the new Addon Manager works.

The `replica` field in `kube-dns` Deployment manifest is removed for the incoming DNS horizontal autoscaling feature #33239.

The `replica` field in `Dashboard` Deployment manifest is also removed because the rescheduler e2e test is manually scaling it.

Some resource limit related fields in `heapster-controller.yaml` are removed, as they will be set up by the `addon resizer` containers. Detailed reasons in #34513.

Three e2e tests are modified:
- `rescheduler.go`: Changed to resize Dashboard UI Deployment instead of ReplicationController.
- `addon_update.go`: Some namespace related changes in order to make it compatible with the new Addon Manager.
- `dns_autoscaling.go`: Changed to examine kube-dns Deployment instead of ReplicationController.

Both of above two tests passed on my own cluster. The upgrade process --- from old Addons with RCs to new Addons with Deployments --- was also tested and worked as expected.

The last commit upgrades Addon Manager to v6.0. It is still a work in process and currently waiting for #35220 to be finished. (The Addon Manager image in used comes from a non-official registry but it mostly works except some corner cases.)

@piosz @gmarek could you please review the heapster part and the rescheduler test?

@mikedanese @thockin 

cc @kubernetes/sig-cluster-lifecycle 

---

Notes:
- Kube-dns manifest still uses *-rc.yaml for the new Deployment. The stale file names are preserved here for receiving faster review. May send out PR to re-organize kube-dns's file names after this.
- Heapster Deployment's name remains in the old fashion(with `-v1.2.0` suffix) for avoiding describe this upgrade transition explicitly. In this way we don't need to attach fake apply labels to the old Deployments.
2016-11-10 02:36:38 -08:00
Kubernetes Submit Queue b392910bc7 Merge pull request #36505 from Crassirostris/kibana-image-fix
Automatic merge from submit-queue

Fix startup script bug in kibana image

Big thanks to @lhopki01 for noticing this!

As mention in discussion in https://github.com/kubernetes/kubernetes/pull/36103 current image crashes if we don't want to work behind proxy because of string interpolation in bash.

@piosz
2016-11-09 17:33:58 -08:00
Zihong Zheng b26faae7fc Migrates addons from using ReplicationControllers to Deployments 2016-11-09 09:17:05 -08:00
Mik Vyatskov 94eeca8d2c Fixed startup script bug in kibana image 2016-11-09 16:35:34 +01:00
Mik Vyatskov 800aafea9b Add rescheduler logs to the fluentd-elasticsearch configuration 2016-11-07 20:24:06 +01:00
Kubernetes Submit Queue 48ef0faa0e Merge pull request #35216 from edsiper/fluentd-jemalloc
Automatic merge from submit-queue

cluster-addons: enable Jemalloc for Fluentd based images

**What this PR does / why we need it**:

This Pull Request includes two patches that enable the recommended use of Jemalloc memory allocator for container images that are based in Fluentd. The patches applies to the following cluster-addons:
- fluentd-es-image
- fluentd-gcp-image

**Which issue this PR fixes** 

This PR is part of the solution for issues:
-  kubernetes/kubernetes/issues/32762
-  GoogleCloudPlatform/fluent-plugin-google-cloud/issues/87

When Fluentd runs in high load environments, it's likely the default operating system memory allocator will generate a high fragmentation ending up in a high memory usage. In order to reduce fragmentation and decrease memory usage an alternative memory allocator as Jemalloc is used. 

![](https://cloud.githubusercontent.com/assets/369718/19498577/eaa9f324-954e-11e6-9a6b-6b30310a66a3.png)

For the record: fluentd-es-image uses [td-agent](https://docs.treasuredata.com/articles/td-agent) Fluentd package maintained by Treasure Data, which contains Jemalloc 4.2.1 (latest stable version). The google-fluentd package used in fluentd-gcp-image comes with Jemalloc 2.2.5, which have many known issues, I strongly suggest google-fluentd package gets updated.

**Special notes for your reviewer**:

In the research of this topic have been involved @piosz and @Crassirostris.
2016-11-06 05:26:58 -08:00
Mik Vyatskov 3b6353bdc8 Fixed kibana image and controller to work through proxy 2016-11-02 22:06:22 +01:00
Matt Condon 00f6592d9e fix: elasticsearch template mapping to parse kubernetes.labels 2016-10-28 16:29:34 -04:00
Jan Chaloupka 4fde09d308 Replace client with clientset in code 2016-10-23 22:00:35 +02:00
Kubernetes Submit Queue 35943d6ad6 Merge pull request #34969 from Crassirostris/es-kibana-usage-update
Automatic merge from submit-queue

Update elasticsearch and kibana usage

```release-note
Updated default Elasticsearch and Kibana used for elasticsearch logging destination to versions 2.4.1 and 4.6.1 respectively.
```

Updated controllers for elasticsearch and kibana to use newer versions of images. Fixed e2e test because of elasticsearch backward incompatible API changes.

Fixed out of sync elasticsearch controller for coreos.

@piosz
2016-10-20 12:26:02 -07:00
Eduardo Silva 5e321af2ed cluser/addons: fluentd-elasticsearch: preload Jemalloc for td-agent
The current DockerFile build an image using td-agent package but it let
the service run with the default memory allocator provided by glibc.

In high load environments, is highly required to use a customized memory
allocator such as Jemalloc. Otherwise the service will face a high memory
fragmentation ending up in 'high memory' usage from a monitoring perspective.

td-agent package by default install Jemalloc and set the LD_PRELOAD
environment variable through it init script, but since the service is
launched through Docker the env variable needs to be set manually.

After this patch, when running td-agent container image now is possible
to see that Jemalloc is used:

  root@monotop:/proc/18810# cat maps |grep jemall
  7f251eddd000-7f251ee1b000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251ee1b000-7f251f01b000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251f01b000-7f251f01d000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251f01d000-7f251f01e000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2

For a reference about the memory usage difference between malloc v/s jemalloc
please refer to the following chart:

  https://goo.gl/dVYTmw

Signed-off-by: Eduardo Silva <eduardo@treasure-data.com>
2016-10-20 10:50:58 -06:00
Mik Vyatskov 9832ae1259 Update elasticsearch and kibana usage 2016-10-17 21:04:25 +02:00
Mik Vyatskov 7a582fcae5 Fixed kibana image 2016-10-17 17:45:59 +02:00
Kubernetes Submit Queue fd1fd2a14c Merge pull request #34562 from Crassirostris/es-kibana-update
Automatic merge from submit-queue

Elasticsearch and Kibana update

```release-note
Updated Elasticsearch image from version 1.5.1 to version 2.4.1. Updated Kibana image from version 4.0.2 to version 4.6.1.
```

Updated es and kibana images. Made image versions match es/kibana versions they contain.

ref #19149
2016-10-17 03:04:33 -07:00
Mik Vyatskov 5b79b65bd3 Update elasticsearch and kibana images 2016-10-16 16:01:38 +02:00
Jess Frazelle cde5559d09
Update `gcloud docker` commands to use `gcloud docker -- ARGS`
We can then avoid the following warning:
```
WARNING: The '--' argument must be specified between gcloud specific args on the left and DOCKER_ARGS on the right. IMPORTANT: previously, commands allowed the omission of the --, and unparsed arguments were treated as implementation args. This usage is being deprecated and will be removed in March 2017.
This will be strictly enforced in March 2017. Use 'gcloud beta docker' to see new behavior.
```

Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-10 13:42:34 -07:00
Mik Vyatskov 3fbde5ecfb Fixed elasticsearch cluster logging e2e test on GCI 2016-09-21 13:55:43 +02:00
Manuel de Brito Fontes e2c50152dd Remove kubernetes metadata plugin 2016-08-23 08:21:46 -03:00
Manuel de Brito Fontes 5753a3196c Reduce the size of fluentd images 2016-08-23 08:21:45 -03:00
haoyuan a1f20cbdf4 fix typo 2016-08-08 19:33:51 +08:00
Rick Buskens 77bda6fd16 Updated configuration to spawn multiple threads for processing 2016-08-01 15:08:11 -04:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
pprokop fa91b3e461 Adding option to deploy fluentd-elasticsearch in diffrent namespace then kube-system 2016-06-27 18:15:41 +02:00
Alex Robinson bb51c94172 Add collection of the new glbc and cluster-autoscaler logs 2016-06-03 15:50:52 +00:00
Alex Robinson 8579509293 Rebuild elasticsearch image to include changes since 1.2 2016-06-01 20:48:20 +00:00
keontang 1520a01d97 Fixed #25127 2016-05-16 09:03:00 +08:00
Mike Zupan dc643d2592 Fixing a simple typo 2016-03-06 23:49:35 -08:00
Alex Robinson 29eb6020fb Merge pull request #22074 from a-robinson/images
Update the logging images to parse sub-second docker timestamps.
2016-03-04 09:04:33 -08:00
Alex Robinson feea376b5c Update the logging images to parse sub-second docker timestamps. 2016-03-03 10:21:30 -08:00
Alex Robinson f8965a6f41 Fix parsing of kube logs to handle logs split across lines.
I didn't expect glog to split single log statements onto multiple lines,
but apparently it does if they're long enough. This groups them back
together appropriately.
2016-02-26 22:58:46 +00:00
Christopher Eck c34ecf7100 Enable fluentd to parse the sub-second portion of timestamps coming from docker logs. 2016-02-18 11:07:27 -08:00
Alex Robinson e5c5f76402 Update the default fluentd images to parse system logs. 2016-02-04 23:29:27 +00:00
Alex Robinson 592da85a81 Parse system logs into structured messages in fluentd.
This allows you to filter based on components of the log,
like their severity, in the developers console or elasticsearch.
2016-02-04 08:14:59 +00:00
Paul Morie b672785d72 Add boilerplate checks for Dockerfiles 2016-02-03 18:35:26 -05:00
Paul Morie 05bd107301 Add boilerplate checks for Makefiles 2016-02-03 18:35:26 -05:00
Alex Robinson 6acf297231 Update the fluentd versions to include fixes for #19405. 2016-01-27 00:30:53 +00:00
Alex Robinson ac13e851e2 Don't let fluentd pipe its own logs directly back into itself. 2016-01-27 00:30:53 +00:00
Alex Robinson 95a4ea3fc8 Increase the fluentd buffer chunk size to improve write throughput.
Also reduce the max wait between retries, 30 seconds should be more than
enough backoff.
2016-01-27 00:30:50 +00:00
gmarek 2d5c429f9d Add resource requests to addons 2015-12-17 10:13:15 +01:00
Minhan Xia b4c72e56ce enforce node quorum to prevent es split brain problem 2015-12-14 18:16:04 -08:00