mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-11 04:52:08 +00:00
Merge pull request #10597 from a-robinson/fluentd
Run fluentd on the master to collect the core master logs
This commit is contained in:
commit
a2250d1caf
@ -1,7 +1,7 @@
|
|||||||
.PHONY: build push
|
.PHONY: build push
|
||||||
|
|
||||||
IMAGE = fluentd-elasticsearch
|
IMAGE = fluentd-elasticsearch
|
||||||
TAG = 1.5
|
TAG = 1.6
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build -t gcr.io/google_containers/$(IMAGE):$(TAG) .
|
docker build -t gcr.io/google_containers/$(IMAGE):$(TAG) .
|
||||||
|
@ -78,19 +78,21 @@
|
|||||||
tag kubernetes.${tag_suffix[3].split('-')[0..-2].join('-')}
|
tag kubernetes.${tag_suffix[3].split('-')[0..-2].join('-')}
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
<match kubernetes.**>
|
<source>
|
||||||
type elasticsearch
|
type tail
|
||||||
log_level info
|
format none
|
||||||
include_tag_key true
|
path /varlog/startupscript.log
|
||||||
host elasticsearch-logging.default
|
pos_file /varlog/es-startupscript.log.pos
|
||||||
port 9200
|
tag startupscript
|
||||||
logstash_format true
|
</source>
|
||||||
flush_interval 5s
|
|
||||||
# Never wait longer than 5 minutes between retries.
|
<source>
|
||||||
max_retry_wait 300
|
type tail
|
||||||
# Disable the limit on the number of retries (retry forever).
|
format none
|
||||||
disable_retry_limit
|
path /varlog/docker.log
|
||||||
</match>
|
pos_file /varlog/es-docker.log.pos
|
||||||
|
tag docker
|
||||||
|
</source>
|
||||||
|
|
||||||
<source>
|
<source>
|
||||||
type tail
|
type tail
|
||||||
@ -100,13 +102,41 @@
|
|||||||
tag kubelet
|
tag kubelet
|
||||||
</source>
|
</source>
|
||||||
|
|
||||||
<match kubelet>
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-apiserver.log
|
||||||
|
pos_file /varlog/es-kube-apiserver.log.pos
|
||||||
|
tag kube-apiserver
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-controller-manager.log
|
||||||
|
pos_file /varlog/es-kube-controller-manager.log.pos
|
||||||
|
tag kube-controller-manager
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-scheduler.log
|
||||||
|
pos_file /varlog/es-kube-scheduler.log.pos
|
||||||
|
tag kube-scheduler
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<match **>
|
||||||
type elasticsearch
|
type elasticsearch
|
||||||
log_level info
|
log_level info
|
||||||
include_tag_key true
|
include_tag_key true
|
||||||
host elasticsearch-logging.default
|
host elasticsearch-logging
|
||||||
port 9200
|
port 9200
|
||||||
logstash_format true
|
logstash_format true
|
||||||
|
# Set the chunk limit the same as for fluentd-gcp.
|
||||||
|
buffer_chunk_limit 512K
|
||||||
|
# Cap buffer memory usage to 512KB/chunk * 128 chunks = 65 MB
|
||||||
|
buffer_queue_limit 128
|
||||||
flush_interval 5s
|
flush_interval 5s
|
||||||
# Never wait longer than 5 minutes between retries.
|
# Never wait longer than 5 minutes between retries.
|
||||||
max_retry_wait 300
|
max_retry_wait 300
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
.PHONY: kbuild kpush
|
.PHONY: kbuild kpush
|
||||||
|
|
||||||
TAG = 1.7
|
TAG = 1.8
|
||||||
|
|
||||||
# Rules for building the test image for deployment to Dockerhub with user kubernetes.
|
# Rules for building the test image for deployment to Dockerhub with user kubernetes.
|
||||||
|
|
||||||
|
@ -63,26 +63,61 @@
|
|||||||
tag kubernetes.${tag_suffix[3].split('-')[0..-2].join('-')}
|
tag kubernetes.${tag_suffix[3].split('-')[0..-2].join('-')}
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
<match kubernetes.**>
|
<source>
|
||||||
type google_cloud
|
type tail
|
||||||
flush_interval 5s
|
format none
|
||||||
# Never wait longer than 5 minutes between retries.
|
path /varlog/startupscript.log
|
||||||
max_retry_wait 300
|
pos_file /varlog/gcp-startupscript.log.pos
|
||||||
# Disable the limit on the number of retries (retry forever).
|
tag startupscript
|
||||||
disable_retry_limit
|
</source>
|
||||||
</match>
|
|
||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/docker.log
|
||||||
|
pos_file /varlog/gcp-docker.log.pos
|
||||||
|
tag docker
|
||||||
|
</source>
|
||||||
|
|
||||||
<source>
|
<source>
|
||||||
type tail
|
type tail
|
||||||
format none
|
format none
|
||||||
time_key time
|
|
||||||
path /varlog/kubelet.log
|
path /varlog/kubelet.log
|
||||||
pos_file /varlog/gcp-kubelet.log.pos
|
pos_file /varlog/gcp-kubelet.log.pos
|
||||||
tag kubelet
|
tag kubelet
|
||||||
</source>
|
</source>
|
||||||
|
|
||||||
<match kubelet>
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-apiserver.log
|
||||||
|
pos_file /varlog/gcp-kube-apiserver.log.pos
|
||||||
|
tag kube-apiserver
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-controller-manager.log
|
||||||
|
pos_file /varlog/gcp-kube-controller-manager.log.pos
|
||||||
|
tag kube-controller-manager
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<source>
|
||||||
|
type tail
|
||||||
|
format none
|
||||||
|
path /varlog/kube-scheduler.log
|
||||||
|
pos_file /varlog/gcp-kube-scheduler.log.pos
|
||||||
|
tag kube-scheduler
|
||||||
|
</source>
|
||||||
|
|
||||||
|
<match **>
|
||||||
type google_cloud
|
type google_cloud
|
||||||
|
# Set the chunk limit conservatively to avoid exceeding the GCL limit
|
||||||
|
# of 2MB per write request.
|
||||||
|
buffer_chunk_limit 512K
|
||||||
|
# Cap buffer memory usage to 512KB/chunk * 128 chunks = 65 MB
|
||||||
|
buffer_queue_limit 128
|
||||||
flush_interval 5s
|
flush_interval 5s
|
||||||
# Never wait longer than 5 minutes between retries.
|
# Never wait longer than 5 minutes between retries.
|
||||||
max_retry_wait 300
|
max_retry_wait 300
|
||||||
|
@ -123,7 +123,7 @@ function create-master-instance {
|
|||||||
--image "${MASTER_IMAGE}" \
|
--image "${MASTER_IMAGE}" \
|
||||||
--tags "${MASTER_TAG}" \
|
--tags "${MASTER_TAG}" \
|
||||||
--network "${NETWORK}" \
|
--network "${NETWORK}" \
|
||||||
--scopes "storage-ro,compute-rw" \
|
--scopes "storage-ro,compute-rw,logging-write" \
|
||||||
--can-ip-forward \
|
--can-ip-forward \
|
||||||
--metadata-from-file \
|
--metadata-from-file \
|
||||||
"startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml" \
|
"startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml" \
|
||||||
|
@ -105,7 +105,7 @@ function create-master-instance {
|
|||||||
--image "${MASTER_IMAGE}" \
|
--image "${MASTER_IMAGE}" \
|
||||||
--tags "${MASTER_TAG}" \
|
--tags "${MASTER_TAG}" \
|
||||||
--network "${NETWORK}" \
|
--network "${NETWORK}" \
|
||||||
--scopes "storage-ro,compute-rw" \
|
--scopes "storage-ro,compute-rw,logging-write" \
|
||||||
--can-ip-forward \
|
--can-ip-forward \
|
||||||
--metadata-from-file \
|
--metadata-from-file \
|
||||||
"startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml" \
|
"startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml" \
|
||||||
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: fluentd-elasticsearch
|
- name: fluentd-elasticsearch
|
||||||
image: gcr.io/google_containers/fluentd-elasticsearch:1.5
|
image: gcr.io/google_containers/fluentd-elasticsearch:1.6
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: fluentd-cloud-logging
|
- name: fluentd-cloud-logging
|
||||||
image: gcr.io/google_containers/fluentd-gcp:1.7
|
image: gcr.io/google_containers/fluentd-gcp:1.8
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
@ -38,6 +38,13 @@ base:
|
|||||||
- kube-client-tools
|
- kube-client-tools
|
||||||
- kube-master-addons
|
- kube-master-addons
|
||||||
- kube-admission-controls
|
- kube-admission-controls
|
||||||
|
{% if pillar.get('enable_node_logging', '').lower() == 'true' and pillar['logging_destination'] is defined %}
|
||||||
|
{% if pillar['logging_destination'] == 'elasticsearch' %}
|
||||||
|
- fluentd-es
|
||||||
|
{% elif pillar['logging_destination'] == 'gcp' %}
|
||||||
|
- fluentd-gcp
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% if grains['cloud'] is defined and grains['cloud'] != 'vagrant' %}
|
{% if grains['cloud'] is defined and grains['cloud'] != 'vagrant' %}
|
||||||
- logrotate
|
- logrotate
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user