Skip to content

Commit cae442a

Browse files
authored
Merge pull request kubernetes#86039 from monotek/fluentd-elasticsearch
updated fluentd to 1.7.4 + plugin updates and switch to debian buster
2 parents 3c4d2a5 + 31c3029 commit cae442a

File tree

6 files changed

+39
-66
lines changed

6 files changed

+39
-66
lines changed

cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,22 @@ roleRef:
4545
apiVersion: apps/v1
4646
kind: DaemonSet
4747
metadata:
48-
name: fluentd-es-v2.7.0
48+
name: fluentd-es-v2.8.0
4949
namespace: kube-system
5050
labels:
5151
k8s-app: fluentd-es
52-
version: v2.7.0
52+
version: v2.8.0
5353
addonmanager.kubernetes.io/mode: Reconcile
5454
spec:
5555
selector:
5656
matchLabels:
5757
k8s-app: fluentd-es
58-
version: v2.7.0
58+
version: v2.8.0
5959
template:
6060
metadata:
6161
labels:
6262
k8s-app: fluentd-es
63-
version: v2.7.0
63+
version: v2.8.0
6464
# This annotation ensures that fluentd does not get evicted if the node
6565
# supports critical pod annotation based priority scheme.
6666
# Note that this does not guarantee admission on the nodes (#40573).
@@ -71,7 +71,7 @@ spec:
7171
serviceAccountName: fluentd-es
7272
containers:
7373
- name: fluentd-es
74-
image: quay.io/fluentd_elasticsearch/fluentd:v2.7.0
74+
image: quay.io/fluentd_elasticsearch/fluentd:v2.8.0
7575
env:
7676
- name: FLUENTD_ARGS
7777
value: --no-supervisor -q

cluster/addons/fluentd-elasticsearch/fluentd-es-image/Dockerfile

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,16 @@
1919
# Note that fluentd is run with root permssion to allow access to
2020
# log files with root only access under /var/log/containers/*
2121

22-
FROM debian:stretch-slim
22+
FROM debian:buster-slim
2323

2424
ARG DEBIAN_FRONTEND=noninteractive
2525

26-
COPY clean-apt /usr/bin
27-
COPY clean-install /usr/bin
26+
COPY install.sh /tmp/install.sh
2827
COPY Gemfile /Gemfile
2928

30-
# 1. Install & configure dependencies.
31-
# 2. Install fluentd via ruby.
32-
# 3. Remove build dependencies.
33-
# 4. Cleanup leftover caches & files.
34-
RUN BUILD_DEPS="make gcc g++ libc6-dev ruby-dev libffi-dev" \
35-
&& clean-install $BUILD_DEPS \
36-
ca-certificates \
37-
libjemalloc1 \
38-
ruby \
39-
&& echo 'gem: --no-document' >> /etc/gemrc \
40-
&& gem install --file Gemfile \
41-
&& apt-get purge -y --auto-remove \
42-
-o APT::AutoRemove::RecommendsImportant=false \
43-
$BUILD_DEPS \
44-
&& clean-apt \
45-
# Ensure fluent has enough file descriptors
46-
&& ulimit -n 65536
29+
RUN chmod +x /tmp/install.sh && \
30+
/bin/bash -l -c /tmp/install.sh && \
31+
rm /tmp/*
4732

4833
# Copy the Fluentd configuration file for logging Docker container logs.
4934
COPY fluent.conf /etc/fluent/fluent.conf
@@ -52,7 +37,7 @@ COPY run.sh /run.sh
5237
# Expose prometheus metrics.
5338
EXPOSE 80
5439

55-
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1
40+
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
5641

5742
# Start Fluentd to pick up our config that watches Docker container logs.
5843
CMD ["/run.sh"]
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
source 'https://rubygems.org'
22

3-
gem 'activesupport', '~>5.2.3'
4-
gem 'fluentd', '<=1.6.3'
3+
gem 'activesupport', '~>6.0.1'
4+
gem 'fluentd', '<=1.7.4'
55
gem 'fluent-plugin-concat', '~>2.4.0'
6-
gem 'fluent-plugin-detect-exceptions', '~>0.0.12'
7-
gem 'fluent-plugin-elasticsearch', '~>3.5.3'
8-
gem 'fluent-plugin-kubernetes_metadata_filter', '~>2.2.0'
6+
gem 'fluent-plugin-detect-exceptions', '~>0.0.13'
7+
gem 'fluent-plugin-elasticsearch', '~>3.7.1'
8+
gem 'fluent-plugin-kubernetes_metadata_filter', '~>2.4.0'
99
gem 'fluent-plugin-multi-format-parser', '~>1.0.0'
10-
gem 'fluent-plugin-prometheus', '~>1.4.0'
10+
gem 'fluent-plugin-prometheus', '~>1.7.0'
1111
gem 'fluent-plugin-systemd', '~>1.0.2'
12-
gem 'oj', '~>3.8.1'
12+
gem 'oj', '~>3.10.0'

cluster/addons/fluentd-elasticsearch/fluentd-es-image/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
PREFIX = quay.io/fluentd_elasticsearch
1818
IMAGE = fluentd
19-
TAG = v2.7.0
19+
TAG = v2.8.0
2020

2121
build:
2222
docker build --tag ${PREFIX}/${IMAGE}:${TAG} .

cluster/addons/fluentd-elasticsearch/fluentd-es-image/clean-install

Lines changed: 0 additions & 30 deletions
This file was deleted.

cluster/addons/fluentd-elasticsearch/fluentd-es-image/clean-apt renamed to cluster/addons/fluentd-elasticsearch/fluentd-es-image/install.sh

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/bin/sh
1+
#!/bin/bash
22

33
# Copyright 2017 The Kubernetes Authors.
44
#
@@ -20,10 +20,28 @@
2020

2121
set -o errexit
2222

23+
# 1. Install & configure dependencies.
24+
# 2. Install fluentd via ruby.
25+
# 3. Remove build dependencies.
26+
# 4. Cleanup leftover caches & files.
27+
BUILD_DEPS="make gcc g++ libc6-dev ruby-dev libffi-dev"
28+
29+
# apt install
30+
apt-get update
31+
apt-get install -y --no-install-recommends "${BUILD_DEPS}" ca-certificates libjemalloc2 ruby
32+
33+
# ruby install
34+
echo 'gem: --no-document' >> /etc/gemrc
35+
gem install --file Gemfile
36+
37+
# cleanup
38+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false "${BUILD_DEPS}"
2339
apt-get clean -y
2440
rm -rf \
2541
/var/cache/debconf/* \
2642
/var/lib/apt/lists/* \
2743
/var/log/* \
28-
/tmp/* \
2944
/var/tmp/*
45+
46+
# Ensure fluent has enough file descriptors
47+
ulimit -n 65536

0 commit comments

Comments
 (0)