mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 05:40:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: extensions/v1beta1
 | |
| kind: DaemonSet
 | |
| metadata:
 | |
|   name: fluentd-gcp-v2.0.14
 | |
|   namespace: kube-system
 | |
|   labels:
 | |
|     k8s-app: fluentd-gcp
 | |
|     kubernetes.io/cluster-service: "true"
 | |
|     addonmanager.kubernetes.io/mode: Reconcile
 | |
|     version: v2.0.14
 | |
| spec:
 | |
|   updateStrategy:
 | |
|     type: RollingUpdate
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         k8s-app: fluentd-gcp
 | |
|         kubernetes.io/cluster-service: "true"
 | |
|         version: v2.0.14
 | |
|       # 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:
 | |
|       serviceAccountName: fluentd-gcp
 | |
|       dnsPolicy: Default
 | |
|       containers:
 | |
|       - name: fluentd-gcp
 | |
|         image: gcr.io/google-containers/fluentd-gcp:2.0.14
 | |
|         env:
 | |
|         - name: FLUENTD_ARGS
 | |
|           value: --no-supervisor -q
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: 300Mi
 | |
|           requests:
 | |
|             cpu: 100m
 | |
|             memory: 200Mi
 | |
|         volumeMounts:
 | |
|         - name: varlog
 | |
|           mountPath: /var/log
 | |
|         - name: varlibdockercontainers
 | |
|           mountPath: /var/lib/docker/containers
 | |
|           readOnly: true
 | |
|         - name: libsystemddir
 | |
|           mountPath: /host/lib
 | |
|           readOnly: true
 | |
|         - name: config-volume
 | |
|           mountPath: /etc/fluent/config.d
 | |
|         # Liveness probe is aimed to help in situarions where fluentd
 | |
|         # silently hangs for no apparent reasons until manual restart.
 | |
|         # The idea of this probe is that if fluentd is not queueing or
 | |
|         # flushing chunks for 5 minutes, something is not right. If
 | |
|         # you want to change the fluentd configuration, reducing amount of
 | |
|         # logs fluentd collects, consider changing the threshold or turning
 | |
|         # liveness probe off completely.
 | |
|         livenessProbe:
 | |
|           initialDelaySeconds: 600
 | |
|           periodSeconds: 60
 | |
|           exec:
 | |
|             command:
 | |
|             - '/bin/sh'
 | |
|             - '-c'
 | |
|             - >
 | |
|               LIVENESS_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-300};
 | |
|               STUCK_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-900};
 | |
|               if [ ! -e /var/log/fluentd-buffers ];
 | |
|               then
 | |
|                 exit 1;
 | |
|               fi;
 | |
|               LAST_MODIFIED_DATE=`stat /var/log/fluentd-buffers | grep Modify | sed -r "s/Modify: (.*)/\1/"`;
 | |
|               LAST_MODIFIED_TIMESTAMP=`date -d "$LAST_MODIFIED_DATE" +%s`;
 | |
|               if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $STUCK_THRESHOLD_SECONDS` ];
 | |
|               then
 | |
|                 rm -rf /var/log/fluentd-buffers;
 | |
|                 exit 1;
 | |
|               fi;
 | |
|               if [ `date +%s` -gt `expr $LAST_MODIFIED_TIMESTAMP + $LIVENESS_THRESHOLD_SECONDS` ];
 | |
|               then
 | |
|                 exit 1;
 | |
|               fi;
 | |
|       # BEGIN_PROMETHEUS_TO_SD
 | |
|       - name: prometheus-to-sd-exporter
 | |
|         image: gcr.io/google-containers/prometheus-to-sd:v0.2.2
 | |
|         command:
 | |
|           - /monitor
 | |
|           - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons
 | |
|           - --api-override={{ prometheus_to_sd_endpoint }}
 | |
|           - --source=fluentd:http://localhost:31337?whitelisted=stackdriver_successful_requests_count,stackdriver_failed_requests_count,stackdriver_ingested_entries_count,stackdriver_dropped_entries_count
 | |
|           - --pod-id=$(POD_NAME)
 | |
|           - --namespace-id=$(POD_NAMESPACE)
 | |
|         env:
 | |
|           - name: POD_NAME
 | |
|             valueFrom:
 | |
|               fieldRef:
 | |
|                 fieldPath: metadata.name
 | |
|           - name: POD_NAMESPACE
 | |
|             valueFrom:
 | |
|               fieldRef:
 | |
|                 fieldPath: metadata.namespace
 | |
|       # END_PROMETHEUS_TO_SD
 | |
|       nodeSelector:
 | |
|         beta.kubernetes.io/fluentd-ds-ready: "true"
 | |
|       tolerations:
 | |
|       - key: "node.alpha.kubernetes.io/ismaster"
 | |
|         effect: "NoSchedule"
 | |
|       - operator: "Exists"
 | |
|         effect: "NoExecute"
 | |
|       - operator: "Exists"
 | |
|         effect: "NoSchedule"
 | |
|       terminationGracePeriodSeconds: 30
 | |
|       volumes:
 | |
|       - name: varlog
 | |
|         hostPath:
 | |
|           path: /var/log
 | |
|       - name: varlibdockercontainers
 | |
|         hostPath:
 | |
|           path: /var/lib/docker/containers
 | |
|       - name: libsystemddir
 | |
|         hostPath:
 | |
|           path: /usr/lib64
 | |
|       - name: config-volume
 | |
|         configMap:
 | |
|           name: fluentd-gcp-config-v1.2.3
 |