diff options
| author | Serguei Bezverkhi <sbezverk@cisco.com> | 2016-09-23 10:59:05 -0400 |
|---|---|---|
| committer | Serguei Bezverkhi <sbezverk@cisco.com> | 2016-10-12 13:32:23 -0400 |
| commit | 749679448a9d11393ed150647e8dbb226bd29e8f (patch) | |
| tree | 47a8b95a3a150fe4da545ebc09251913a4b86047 /docker | |
| parent | 9df73ecc836cf35e710af8a2496bba8942543ec8 (diff) | |
| download | kolla-749679448a9d11393ed150647e8dbb226bd29e8f.tar.gz kolla-749679448a9d11393ed150647e8dbb226bd29e8f.zip | |
Adds Fluentd docker image required for kolla-kube
This PS adds Fluentd docker image to Kolla. Kolla
currently does not use Fluentd for log collection, but this image
is required for Kubernetes centralized logging solution.
Change-Id: I719661d75f5044239a1fd52080d322c77490ecae
Partially_Implements: blueprint kubernetes-images
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/fluentd/Dockerfile.j2 | 54 | ||||
| -rw-r--r-- | docker/fluentd/extend_start.sh | 16 | ||||
| -rw-r--r-- | docker/fluentd/fluentd_sudoers | 4 | ||||
| -rw-r--r-- | docker/fluentd/td.repo | 5 |
4 files changed, 79 insertions, 0 deletions
diff --git a/docker/fluentd/Dockerfile.j2 b/docker/fluentd/Dockerfile.j2 new file mode 100644 index 000000000..bc20b8ff3 --- /dev/null +++ b/docker/fluentd/Dockerfile.j2 @@ -0,0 +1,54 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block fluentd_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} + +RUN rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent + +COPY td.repo /etc/yum.repos.d/td.repo + + {% set fluentd_packages = [ + 'td-agent', + 'gcc-c++', + 'make' + ] %} + +{% elif base_distro in ['ubuntu', 'debian'] %} + +RUN curl https://packages.treasuredata.com/GPG-KEY-td-agent | apt-key add - \ + && echo "deb http://packages.treasuredata.com/2/ubuntu/xenial/ xenial contrib" > /etc/apt/sources.list.d/treasure-data.list \ + && apt-get update + + {% set fluentd_packages = [ + 'td-agent', + 'make', + 'g++' + ] %} +{% endif %} + +{{ macros.install_packages(fluentd_packages | customizable("packages")) }} + +RUN ulimit -n 65536 \ + && sed -i -e "s/USER=td-agent/USER=root/" -e "s/GROUP=td-agent/GROUP=root/" /etc/init.d/td-agent \ + && td-agent-gem install fluent-plugin-kubernetes_metadata_filter fluent-plugin-elasticsearch fluent-plugin-grep \ + && rm -f /etc/td-agent/td-agent.conf + +COPY fluentd_sudoers /etc/sudoers.d/kolla_fluentd_sudoers +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +RUN usermod -a -G kolla td-agent \ + && chmod 440 /etc/sudoers.d/kolla_fluentd_sudoers \ + && chmod 755 /usr/local/bin/kolla_extend_start \ + && chown -R td-agent: /etc/td-agent \ + && mkdir /var/lib/td-agent \ + && chown -R td-agent: /var/lib/td-agent + +{% block fluentd_footer %}{% endblock %} +{% block footer %}{% endblock %} +{{ include_footer }} + +USER td-agent diff --git a/docker/fluentd/extend_start.sh b/docker/fluentd/extend_start.sh new file mode 100644 index 000000000..bcdbed09d --- /dev/null +++ b/docker/fluentd/extend_start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Give processes executed with the "kolla" group the permission to create files +# and sub-directories in the /var/log/kolla directory. +# +# Also set the setgid permission on the /var/log/kolla directory so that new +# files and sub-directories in that directory inherit its group id ("kolla"). +if [[ $(stat -c %U:%G /var/log/kolla) != "td-agent:kolla" ]]; then + sudo chown td-agent:kolla /var/log/kolla +fi +if [[ $(stat -c %a /var/log/kolla) != "2775" ]]; then + sudo chmod 2775 /var/log/kolla +fi +if [[ $(stat -c %U:%G /var/lib/td-agent) != "td-agent:kolla" ]]; then + sudo chown td-agent:kolla /var/lib/td-agent +fi diff --git a/docker/fluentd/fluentd_sudoers b/docker/fluentd/fluentd_sudoers new file mode 100644 index 000000000..0111a26c4 --- /dev/null +++ b/docker/fluentd/fluentd_sudoers @@ -0,0 +1,4 @@ +%kolla ALL=(root) NOPASSWD: /bin/chown td-agent\:kolla /var/log/kolla, /usr/bin/chown td-agent\:kolla /var/log/kolla +%kolla ALL=(root) NOPASSWD: /bin/chown td-agent\:kolla /var/lib/td-agent, /usr/bin/chown td-agent\:kolla /var/lib/td-agent +%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/log/kolla, /usr/bin/chmod 2775 /var/log/kolla +%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/lib/td-agent, /usr/bin/chmod 2775 /var/lib/td-agent diff --git a/docker/fluentd/td.repo b/docker/fluentd/td.repo new file mode 100644 index 000000000..abecf7e2c --- /dev/null +++ b/docker/fluentd/td.repo @@ -0,0 +1,5 @@ +[treasuredata] +name=TreasureData +baseurl=http://packages.treasuredata.com/2/redhat/\$releasever/\$basearch +gpgcheck=1 +gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent |
