diff --git a/build/lib/release.sh b/build/lib/release.sh
index b012fbdecc..5cf716e10e 100644
--- a/build/lib/release.sh
+++ b/build/lib/release.sh
@@ -362,7 +362,6 @@ function kube::release::package_kube_manifests_tarball() {
rm -rf "${release_stage}"
mkdir -p "${release_stage}"
- cp "${salt_dir}/fluentd-gcp/fluentd-gcp.yaml" "${release_stage}/"
cp "${salt_dir}/kube-registry-proxy/kube-registry-proxy.yaml" "${release_stage}/"
cp "${salt_dir}/kube-proxy/kube-proxy.manifest" "${release_stage}/"
diff --git a/cluster/gce/container-linux/configure-helper.sh b/cluster/gce/container-linux/configure-helper.sh
index 0d893622fb..4147270370 100755
--- a/cluster/gce/container-linux/configure-helper.sh
+++ b/cluster/gce/container-linux/configure-helper.sh
@@ -1210,17 +1210,6 @@ function start-kube-addons {
cp "${src_dir}/kube-addon-manager.yaml" /etc/kubernetes/manifests
}
-# Starts a fluentd static pod for logging for gcp in case master is not registered.
-function start-fluentd-static-pod {
- echo "Start fluentd pod"
- if [[ "${ENABLE_NODE_LOGGING:-}" == "true" ]] && \
- [[ "${LOGGING_DESTINATION:-}" == "gcp" ]] && \
- [[ "${KUBERNETES_MASTER:-}" == "true" ]] && \
- [[ "${REGISTER_MASTER_KUBELET:-false}" == "false" ]]; then
- cp "${KUBE_HOME}/kube-manifests/kubernetes/fluentd-gcp.yaml" /etc/kubernetes/manifests/
- fi
-}
-
# Starts an image-puller - used in test clusters.
function start-image-puller {
echo "Start image-puller"
@@ -1383,7 +1372,6 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
start-cluster-autoscaler
start-lb-controller
start-rescheduler
- start-fluentd-static-pod
else
start-kube-proxy
# Kube-registry-proxy.
diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh
index 2d95bc5a35..b43bdb71fb 100644
--- a/cluster/gce/gci/configure-helper.sh
+++ b/cluster/gce/gci/configure-helper.sh
@@ -1426,17 +1426,6 @@ function start-kube-addons {
cp "${src_dir}/kube-addon-manager.yaml" /etc/kubernetes/manifests
}
-# Starts a fluentd static pod for logging for gcp in case master is not registered.
-function start-fluentd-static-pod {
- echo "Start fluentd pod"
- if [[ "${ENABLE_NODE_LOGGING:-}" == "true" ]] && \
- [[ "${LOGGING_DESTINATION:-}" == "gcp" ]] && \
- [[ "${KUBERNETES_MASTER:-}" == "true" ]] && \
- [[ "${REGISTER_MASTER_KUBELET:-false}" == "false" ]]; then
- cp "${KUBE_HOME}/kube-manifests/kubernetes/fluentd-gcp.yaml" /etc/kubernetes/manifests/
- fi
-}
-
# Starts an image-puller - used in test clusters.
function start-image-puller {
echo "Start image-puller"
@@ -1585,7 +1574,6 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
start-cluster-autoscaler
start-lb-controller
start-rescheduler
- start-fluentd-static-pod
else
start-kube-proxy
# Kube-registry-proxy.
diff --git a/cluster/saltbase/BUILD b/cluster/saltbase/BUILD
index 2ffcf0824b..4de5819e2b 100644
--- a/cluster/saltbase/BUILD
+++ b/cluster/saltbase/BUILD
@@ -50,7 +50,6 @@ pkg_tar(
pkg_tar(
name = "salt-manifests",
files = [
- "salt/fluentd-gcp/fluentd-gcp.yaml",
"salt/kube-proxy/kube-proxy.manifest",
"salt/kube-registry-proxy/kube-registry-proxy.yaml",
],
diff --git a/cluster/saltbase/salt/fluentd-gcp/OWNERS b/cluster/saltbase/salt/fluentd-gcp/OWNERS
deleted file mode 100644
index 14bb6e15eb..0000000000
--- a/cluster/saltbase/salt/fluentd-gcp/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-approvers:
-- crassirostris
-- piosz
-reviewers:
-- crassirostris
-- piosz
diff --git a/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml b/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml
deleted file mode 100644
index d6488a42bb..0000000000
--- a/cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml
+++ /dev/null
@@ -1,479 +0,0 @@
-apiVersion: v1
-kind: Pod
-metadata:
- name: fluentd-cloud-logging
- namespace: kube-system
- labels:
- k8s-app: fluentd-logging
- # This annotation ensures that fluentd does not get evicted if the node
- # supports critical pod annotation based priority scheme.
- # Note that this does not guarantee admission on the nodes (#40573).
- annotations:
- scheduler.alpha.kubernetes.io/critical-pod: ''
-spec:
- dnsPolicy: Default
- containers:
- - name: fluentd-cloud-logging
- image: gcr.io/google_containers/fluentd-gcp:2.0.2
- # If fluentd consumes its own logs, the following situation may happen:
- # fluentd fails to send a chunk to the server => writes it to the log =>
- # tries to send this message to the server => fails to send a chunk and so on.
- # Writing to a file, which is not exported to the back-end prevents it.
- # It also allows to increase the fluentd verbosity by default.
- command:
- - '/bin/sh'
- - '-c'
- - |-
- mkdir /etc/fluent/config.d &&
- echo "$FLUENTD_CONFIG" > /etc/fluent/config.d/main.conf &&
- /run.sh $FLUENTD_ARGS 2>&1 >>/var/log/fluentd.log
- env:
- - name: FLUENTD_ARGS
- value: --no-supervisor
- # Keep this config as close as possible to cluster/addons/fluentd-gcp/fluentd-gcp-configmap.yaml
- # Note that backslashes should be doubled, because this is interpreted as shell variable
- # TODO(crassirostris): Refactor this
- - name: FLUENTD_CONFIG
- value: |-
- # This configuration file for Fluentd is used
- # to watch changes to Docker log files that live in the
- # directory /var/lib/docker/containers/ and are symbolically
- # linked to from the /var/log/containers directory using names that capture the
- # pod name and container name. These logs are then submitted to
- # Google Cloud Logging which assumes the installation of the cloud-logging plug-in.
- #
- # Example
- # =======
- # A line in the Docker log file might look like this JSON:
- #
- # {"log":"2014/09/25 21:15:03 Got request with path wombat\\n",
- # "stream":"stderr",
- # "time":"2014-09-25T21:15:03.499185026Z"}
- #
- # The record reformer is used to write the tag to focus on the pod name
- # and the Kubernetes container name. For example a Docker container's logs
- # might be in the directory:
- # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b
- # and in the file:
- # 997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log
- # where 997599971ee6... is the Docker ID of the running container.
- # The Kubernetes kubelet makes a symbolic link to this file on the host machine
- # in the /var/log/containers directory which includes the pod name and the Kubernetes
- # container name:
- # synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log
- # ->
- # /var/lib/docker/containers/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b/997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b-json.log
- # The /var/log directory on the host is mapped to the /var/log directory in the container
- # running this instance of Fluentd and we end up collecting the file:
- # /var/log/containers/synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log
- # This results in the tag:
- # var.log.containers.synthetic-logger-0.25lps-pod_default-synth-lgr-997599971ee6366d4a5920d25b79286ad45ff37a74494f262e3bc98d909d0a7b.log
- # The record reformer is used is discard the var.log.containers prefix and
- # the Docker container ID suffix and "kubernetes." is pre-pended giving the tag:
- # kubernetes.synthetic-logger-0.25lps-pod_default-synth-lgr
- # Tag is then parsed by google_cloud plugin and translated to the metadata,
- # visible in the log viewer
-
- # Example:
- # {"log":"[info:2016-02-16T16:04:05.930-08:00] Some log text here\\n","stream":"stdout","time":"2016-02-17T00:04:05.931087621Z"}
-
- type tail
- format json
- time_key time
- path /var/log/containers/*.log
- pos_file /var/log/gcp-containers.log.pos
- time_format %Y-%m-%dT%H:%M:%S.%N%Z
- tag reform.*
- read_from_head true
-
-
-
- type parser
- format /^(?\\w)(?
-
-
- type record_reformer
- enable_ruby true
- tag raw.kubernetes.${tag_suffix[4].split('-')[0..-2].join('-')}
-
-
- # Detect exceptions in the log output and forward them as one log entry.
-
- @type copy
-
-
- @type prometheus
-
-
- type counter
- name logging_line_count
- desc Total number of lines generated by application containers
-
- tag ${tag}
-
-
-
-
- @type detect_exceptions
-
- remove_tag_prefix raw
- message log
- stream stream
- multiline_flush_interval 5
- max_bytes 500000
- max_lines 1000
-
-
-
- # Example:
- # 2015-12-21 23:17:22,066 [salt.state ][INFO ] Completed state [net.ipv4.ip_forward] at time 23:17:22.066081
-
- type tail
- format /^(?
-
- # Example:
- # Dec 21 23:17:22 gke-foo-1-1-4b5cbd14-node-4eoj startupscript: Finished running startup script /var/run/google.startup.script
-
- type tail
- format syslog
- path /var/log/startupscript.log
- pos_file /var/log/gcp-startupscript.log.pos
- tag startupscript
-
-
- # Examples:
- # time="2016-02-04T06:51:03.053580605Z" level=info msg="GET /containers/json"
- # time="2016-02-04T07:53:57.505612354Z" level=error msg="HTTP Error" err="No such image: -f" statusCode=404
-
- type tail
- format /^time="(?
-
- # Example:
- # 2016/02/04 06:52:38 filePurge: successfully removed file /var/etcd/data/member/wal/00000000000006d0-00000000010a23d1.wal
-
- type tail
- # Not parsing this, because it doesn't have anything particularly useful to
- # parse out of it (like severities).
- format none
- path /var/log/etcd.log
- pos_file /var/log/gcp-etcd.log.pos
- tag etcd
-
-
- # Multi-line parsing is required for all the kube logs because very large log
- # statements, such as those that include entire object bodies, get split into
- # multiple lines by glog.
-
- # Example:
- # I0204 07:32:30.020537 3368 server.go:1048] POST /stats/container/: (13.972191ms) 200 [[Go-http-client/1.1] 10.244.1.3:40537]
-
- type tail
- format multiline
- multiline_flush_interval 5s
- format_firstline /^\\w\\d{4}/
- format1 /^(?\\w)(?