Commit Graph

245 Commits (86a8ede789e555047515afd50e4abc765d211c6b)

Author SHA1 Message Date
Tim St. Clair 56a7080e56 Bump fluentd-gcp to version 2.0.1 2017-03-07 16:37:04 -08:00
Kubernetes Submit Queue 4092da38a6 Merge pull request #42127 from crassirostris/remove-fluentd-gcp-image
Automatic merge from submit-queue (batch tested with PRs 42070, 42127)

Remove fluentd-gcp image sources

This PR removes fluentd-gcp image sources from the main kubernetes repo to move it the `contrib`: https://github.com/kubernetes/contrib/pull/2426

Once image is moved, it will be maintained by Stackdriver team (@igorpeshansky, @qingling128 and @dhrupadb)

CC @ixdy @timstclair
2017-03-04 12:58:40 -08:00
Kubernetes Submit Queue c432e7af37 Merge pull request #42130 from Crassirostris/update-fluentd-gcp-master-config
Automatic merge from submit-queue (batch tested with PRs 42126, 42130, 42232, 42245, 41932)

Update fluentd-gcp configuration for hosted masters

This PR makes use of the new fluentd-gcp image, which is not configured per se, for the hosted masters, which cannot use configmaps.

Mirroring https://github.com/kubernetes/kubernetes/pull/42126
2017-03-02 02:07:22 -08:00
Kubernetes Submit Queue 113cd7da0a Merge pull request #42126 from Crassirostris/move-fluentd-config-to-configmap
Automatic merge from submit-queue

Move fluentd DS config to configmap

This is the logical continuation of https://github.com/kubernetes/kubernetes/pull/41998. This PR makes fluentd-gcp DaemonSet use the new image configured using ConfigMap.

This PR doesn't change the way fluentd-gcp works in case master is not registered, that'll be fixed in a separate PR

CC @ixdy @timstclair @igorpeshansky @qingling128 @dhrupadb

**Release note:**

```release-note
Fluentd-gcp containers spawned by DaemonSet are now configured using ConfigMap
```
2017-03-02 01:43:57 -08:00
Mik Vyatskov 2e7eea594c Remove fluentd-gcp image sources 2017-03-01 01:47:01 +01:00
Avesh Agarwal 99bba40682 Update addons yaml files. 2017-02-27 09:21:59 -05:00
Kubernetes Submit Queue 7265908e7f Merge pull request #41998 from timstclair/fluentd-debian-base
Automatic merge from submit-queue

Cleanup fluentd-gcp image, rebase on debian-base

**Why we need this PR**:

There are several problems with our current fluentd-gcp image:

- It pulls in lots of unused packages, which expose unnecessary risk and create noise in CVE scans (and scare customers). The most notable example is the fluent-ui, which pulls in rails.
- `curl | sh ` is not a good practice for a Dockerfile. First, the script is not checked in the same source control branch, so builds are not reproducible. Second, the actions it is taking are opaque. Third, in this case, using non-standard packages means they're harder to manage with CVE scans & upstream fixes.

**What is changed by this PR?**

- Rather than relying on td-agent (which includes fluent-ui), use standard upstream packages. This is largely based off the [official fluentd debian-based image](https://github.com/fluent/fluentd-docker-image/blob/master/v0.12/debian/Dockerfile).
- Rebases the image on debian-base (depends on https://github.com/kubernetes/kubernetes/pull/41915). We would like to move towards a single full-distro base image we can maintain. This change should be relatively minor.

As a result of these changes, the image size is reduced from 360.6 MB to 185.8 MB (nearly half). Many packages were removed, and the full diff (focus on the unversioned files) is listed here: 3fb704f977

**Which issue this PR fixes** https://github.com/kubernetes/kubernetes/issues/40248

**Special notes for your reviewer**:

This change both addresses security concerns, and is expected to greatly reduce the maintenance burden of the fluentd-gcp image. I'd *really* like to get this into 1.6, so please prioritize this review if possible.

I tested this by running the default e2e suite on a private e2e cluster using the new image. If there are other tests you'd like me to run, please let me know ASAP.

**Release note**:
```release-note
Cleanup fluentd-gcp image: rebase on debian-base, switch to upstream packages, remove fluent-ui & rails
```
2017-02-26 19:15:11 -08:00
Mik Vyatskov 42e064fc90 Move fluentd DS config to configmap 2017-02-27 00:05:48 +01:00
Mik Vyatskov bd89af6863 Update fluentd-gcp configuration for hosted masters 2017-02-27 00:00:41 +01:00
Zihong Zheng d4fa046d56 Adds the new addon-manager labels on cluster addon templates 2017-02-24 16:53:12 -08:00
Tim St. Clair 4b4c3e4944
Cleanup fluentd-gcp image, rebase on debian-base 2017-02-24 13:45:12 -08:00
Kubernetes Submit Queue bb5fdff58b Merge pull request #41567 from Crassirostris/fluentd-gcp-monitoring
Automatic merge from submit-queue (batch tested with PRs 39855, 41433, 41567, 41887, 41652)

Add fluentd monitoring to fluentd-gcp image

Right now we are not able to monitor the state of fluentd in cluster, which may result in logging subsystem quietly failing. This PR tries to address that problem by introducing the fluentd container monitoring:

* fluentd internal metrics, like number of buffers and number of data in buffers
* `logging_line_count`, number of lines, read by fluentd from application containers' logs
    * Has `tag` label, corresponding to the fluentd tag of the entry
* `logging_entry_count`, number of entries, emitted to the output plugin
    * With label `component` set to `container`, generated by application containers
    * With label `component` set to `system`, generated by system components like kubelet, docker, scheduler, etc.
    * Has `tag` label, corresponding to the fluentd tag of the entry

CC @fabxc @igorpeshansky @edsiper
2017-02-23 09:36:33 -08:00
Mik Vyatskov 5d59d4d27b Turn fluentd supervisor off for fluentd-gcp 2017-02-21 13:50:47 +01:00
Mik Vyatskov 8d2d91070a Add fluentd monitoring to fluentd-gcp image 2017-02-16 19:04:32 +01:00
Kubernetes Submit Queue 30e8953fad Merge pull request #41564 from Crassirostris/fluentd-gcp-plugin-version-bump
Automatic merge from submit-queue

Bump fluentd-gcp google_cloud plugin version

Bump the version of `fluent-plugin-google-cloud` in fluentd-gcp image, because it's broken for version `0.5.2`.

Recently, gem `google-api-client` was updated to version `0.10.0`. The new version broke `fluent-plugin-google-cloud` which doesn't specify the upper version of `google-api-client` gem. I'm bumping the version used in our image to allow future changes in this release to be run and tested.

This PR doesn't bump the version, since no effective changes has happened, leaving this for the next PR to do.

CC @igorpeshansky
2017-02-16 09:20:12 -08:00
Mik Vyatskov e8de31623f Bump fluentd-gcp google_cloud plugin version 2017-02-16 16:49:16 +01:00
Kubernetes Submit Queue 627c6ce2b8 Merge pull request #41489 from Crassirostris/fluentd-add-toleration
Automatic merge from submit-queue (batch tested with PRs 40000, 41508, 41489)

Add toleration to fluentd daemonset to make it run on master

Because of https://github.com/kubernetes/kubernetes/pull/41172 fluentd pods stopped being allocated on master node.

This PR introduces toleration for master taint for fluentd.

CC @davidopp @janetkuo @kubernetes/sig-scheduling-bugs

Unfortunately, we don't have e2e tests to ensure that master logs are being ingested. This problem is a great signal to work on https://github.com/kubernetes/kubernetes/issues/41411
2017-02-16 01:52:08 -08:00
Mik Vyatskov f6730bd334 Make fluentd use default dns instead of cluster dns to make it work on master 2017-02-15 20:53:32 +01:00
Mik Vyatskov cbba60cc7d Add toleration to fluentd daemonset to make it run on master 2017-02-15 18:11:45 +01:00
Anthony Yeh 257a8745e3 fluentd-gcp: Add kube-apiserver-audit.log. 2017-02-14 14:23:36 -08:00
Mik Vyatskov a1ec542d7c Fix copying systemd libraries upon fluentd-gcp startup 2017-02-14 15:41:15 +01:00
Vishnu kannan 10e7902a12 make fluentd a critical pod
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-02-06 12:16:32 -08:00
Mik Vyatskov 7b194d496f Fix fluentd-gcp configuration to handle different timezones on the node 2017-01-24 11:53:15 +01:00
Antoine Pelisse 62af7dd33d OWNERS: Update latest OWNERS files
These files have been created lately, so we don't have much information
about them anyway, so let's just:
- Remove assignees and make them approvers
- Copy approves as reviewers
2017-01-23 10:05:48 -08:00
thomasschickinger 42fbf93fb0 Add rule for detecting exceptions to fluentd config for GKE logging.
Bump version of gcp-fluentd container to 1.34
2017-01-19 15:51:47 +01:00
Mik Vyatskov 83df5b8495 Remove library copying from fluentd image 2017-01-17 15:00:48 +01:00
Mik Vyatskov edf1ffc074 Remove fluentd buffers if fluentd is stuck 2017-01-16 13:47:23 +01:00
Jeff Grafton 1c2ea28080 Update images that use ubuntu-slim base image to :0.6 2017-01-11 15:07:04 -08:00
Jeff Grafton 19aafd291c Always --pull in docker build to ensure recent base images 2017-01-10 16:21:05 -08:00
Piotr Szczesniak da7b81c4d8 Added owners to monitoring and logging related directories 2017-01-10 12:14:10 +01:00
Mik Vyatskov 57ec7b77fd Fix fluentd-gcp image config by avoiding processing its own logs 2017-01-09 10:05:33 +01:00
Kubernetes Submit Queue 2d15499984 Merge pull request #39151 from Crassirostris/fluentd-gcp-default-format
Automatic merge from submit-queue

Try parse golang logs by default

Glog by default logs to stderr, so Stackdriver Logging shows them all as errors. This PR makes fluentd try to parse messages using glog format and if succeeded, set timestamp and severity accordingly.

CC @piosz @fgrzadkowski
2017-01-03 05:50:33 -08:00
Kubernetes Submit Queue 274a9f0f70 Merge pull request #38927 from luxas/remove_maintainer
Automatic merge from submit-queue

Remove all MAINTAINER statements in the codebase as they are deprecated

**What this PR does / why we need it**:
ref: https://github.com/docker/docker/pull/25466

**Release note**:

```release-note
Remove all MAINTAINER statements in Dockerfiles in the codebase as they are deprecated by docker
```
@ixdy @thockin (who else should be notified?)
2016-12-29 16:41:24 -08:00
Dawn Chen 9d3f4d7152 Revert "Make fluentd pods critical" 2016-12-22 15:58:36 -08:00
Kubernetes Submit Queue 0e9cb8f86b Merge pull request #39146 from Crassirostris/make-fluentd-critical
Automatic merge from submit-queue

Make fluentd pods critical

Related to https://github.com/kubernetes/kubernetes/issues/38322

Make fluentd critical so it will be evicted with less probability.

CC @piosz @fgrzadkowski
2016-12-22 05:17:25 -08:00
Mik Vyatskov 4a7b3d7528 Make fluentd pods critical 2016-12-21 19:56:46 +01:00
Mik Vyatskov a3940ba874 Add liveness probe for fluentd-gcp 2016-12-21 17:32:28 +01:00
Mik Vyatskov 5105102940 Try parse golang logs by default 2016-12-20 17:31:13 +01:00
Lucas Käldström 3c5b5f5963 Remove all MAINTAINER statements in the codebase as they aren't very useful and now deprecated 2016-12-17 20:34:10 +02:00
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
Mik Vyatskov e52c3e77e2 Avoid exporting fluentd-gcp own logs 2016-12-14 14:43:05 +01:00
Mik Vyatskov 6215089796 Unify fluentd-gcp configurations 2016-11-30 14:47:24 +01:00
Mik Vyatskov ba19a27974 Bump version of the fluentd-gcp image 2016-11-22 11:12:28 +01:00
Mik Vyatskov b5b47620f5 Add kube-proxy logs to fluentd configs 2016-11-21 15:43:28 +01:00
Mik Vyatskov aa31f7bc02 Bump fluentd-gcp image version 2016-11-17 21:21:10 +01:00
Mik Vyatskov cf845eda7c Remove fixed docker daemon log time format in fluentd configs 2016-11-17 15:52:07 +01:00
Mik Vyatskov 279e20ed13 Fix flunetd-gcp image Dockerfile 2016-11-08 15:14:09 +01:00
Mik Vyatskov d478307106 Fix config file names inside fluentd-gcp image 2016-11-07 20:31:12 +01:00
Kubernetes Submit Queue 04a81cdd3e Merge pull request #36363 from Crassirostris/fluentd-gcp-image-build-fix
Automatic merge from submit-queue

Fix fluentd-gcp Dockerfile to reduce image size

Change reduces image size by 150MB.

@piosz
2016-11-07 07:56:11 -08:00
Mik Vyatskov d3465e5b8c Add rescheduler logs to the fluentd-gcp configuration 2016-11-07 15:10:52 +01:00
Mik Vyatskov 220168c9aa Fix fluentd-gcp Dockerfile to reduce image size 2016-11-07 15:01:38 +01:00
Mik Vyatskov b4c7dfa674 Switched from google-fluentd to configuring fluentd from scratch 2016-11-02 12:08:36 +01:00
Mik Vyatskov 24361fce06 Update fluentd-gcp configuration 2016-11-02 12:06:01 +01: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
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
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
Alex Robinson 19bf9d0624 Support journal logs in fluentd-gcp.
Only run the systemd-journal plugin when on a platform that requests it.
The plugin crashes the fluentd process if the journal isn't present, so
it can't just be run blindly in all configurations.
2016-06-24 00:30:32 +00:00
Alex Robinson bb51c94172 Add collection of the new glbc and cluster-autoscaler logs 2016-06-03 15:50:52 +00:00
Alex Robinson 3216204668 Update to the latest version of google-fluentd.
It includes some performance improvements for parsing JSON (which is
very important for us, since all Docker logs are JSON) as well as a
couple new settings, like forcing of a flush of multiline logs after a
time period rather than having to wait until a new log is seen before
feeling confident flushing the previous one.
2016-03-05 00:18:31 +00: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
Alex Robinson f0ebe4066f Update fluentd-gcp to include all recent improvements that are in the
new google-fluentd 1.5.4-1 build.
2015-10-29 11:54:07 +00:00
Alex Robinson 8040f75594 Update fluentd-gcp to use a new google-fluentd build with my recent
changes to fluent-plugin-google-cloud to attach Kubernetes metadata to
logs.

Along with this, separate logs from containers in the cluster out from
logs from the daemons running on the node by instantiating two instances
of the output plugin, one which uses the new metadata (for containers)
and one which doesn't (for things like docker and the kubelet).
2015-09-15 23:14:43 +00:00
Alex Robinson f691dca96e Don't install unused configs in the fluentd-gcp Dockerfile. 2015-09-11 16:52:52 -07:00
Alex Robinson 614b1cf3c1 Replace /varlog with /var/log in the fluentd-gcp config to match the
recently updated fluent-es config.
2015-09-11 16:52:49 -07:00
Eric Paris 04fc8ae3dd s|github.com/GoogleCloudPlatform/kubernetes|github.com/kubernetes/kubernetes| 2015-09-03 10:10:11 -04:00
Alex Robinson b3154a7815 Remove the garbage log file in the fluentd-gcp that gets filled with
gunk when installing the google-fluentd agent.

Also let it log things by not redirecting to a file within the container
and only using -q (warning logs only) rather than -qq (error logs only).
2015-08-27 21:41:44 +00:00
Alex Robinson f6f8cb07ae Transfer maintainer responsibilities for fluentd configs/images. 2015-08-26 21:48:51 +00:00
Alex Robinson c887ad75b8 Stop collecting monit logs via fluentd. 2015-08-07 00:12:21 +00:00
Alex Robinson 7430181d65 Collect more of the VM's log files (monit, salt) in fluentd-gcp. 2015-08-05 00:21:47 +00:00
Alex Robinson 9e18c29e9f Make fluentd-gcp collect etcd's logs on the master. 2015-07-30 22:20:57 +00:00
Alex Robinson 0889307522 Update the fluentd-gcp images to include their latest Dockerfile changes.
Their Dockerfiles were changed in #11768.
2015-07-24 01:27:42 +00:00
Todd Derr 98ed2e8606 Remove gem update for fluent-plugin-google-cloud
This was originally submitted to pick up v0.3.1 of the cloud logging
plugin which had a fix for the name 'metadata' failing to resolve.
Since new releases of google-fluentd have this fix, it is no longer
required.

I've done some additional testing of 'gem update' behavior in the interim
and I think it is ok to use in targeted situations, but we should not be
doing an unconstrained update in general. The issue is that updating a
gem may bring new dependencies, some of those dependencies may include
native code, so it may try to launch a compiler, which isn't desirable
and prone to failure.

If we do need to grab an updated gem in the future we should specify an
explicit version and the --minimal-deps flag.
2015-07-23 15:06:56 -04:00
Alex Robinson 4bfbd5f553 Add limits to the fluentd buffer size. 2015-07-03 23:24:08 +00:00
Alex Robinson 8855371763 Configure fluentd to collect additional log files, including master log files.
This also merges the output blocks together because there's no compelling
reason to have a separate output block for each input.
2015-07-01 20:07:47 +00:00
Tim St. Clair f5830edbbc s/gcloud preview docker/gcloud docker/ 2015-06-18 12:27:08 -07:00
Satnam Singh 33311b46a2 Adjust Fluentd source format for Docker files to be JSON for Cloud Logging 2015-06-15 10:22:27 -07:00
Satnam Singh 32842b4d22 Update Fluentd GCP image 2015-05-19 16:12:50 -07:00
Jeff Lowdermilk 553f9f822b Add ga-beacon analytics to gendocs scripts
hack/run-gendocs.sh puts ga-beacon analytics link into all md files,
hack/verify-gendocs.sh verifies presence of link.
2015-05-15 18:56:38 -07:00
Satnam Singh 941a457851 Trim Fleuntd tag for Cloud Logging 2015-04-30 13:39:35 -07:00
Satnam Singh 20a0905d61 New Fluentd to Cloud Logging Dockerfile with args 2015-04-28 10:30:32 -07:00
Satnam Singh 2444c1f943 Propagate pod and container name for log files 2015-04-22 15:08:51 -07:00
Alex Robinson 059a8c92bd Move the logging-related directories to where I think they belong.
1. Move fluentd-gcp to be a core cluster addon, rather than a contrib.
2. Get rid of the synthetic logger under contrib, since the exact same
synthetic logger was also included in the logging-demo.
3. Move the logging-demo to examples, since it's effectively an example.

We should also consider adding on a GCP section to the logging-demo
example :)
2015-04-17 23:59:50 +00:00