mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 21:30:16 +00:00 
			
		
		
		
	Automatic merge from submit-queue Make fluentd pods critical Related to https://github.com/kubernetes/kubernetes/issues/38322 Make fluentd critical so it will be evicted with less probability. CC @piosz @fgrzadkowski
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # please keep this file synchronized with cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.yaml
 | |
| apiVersion: extensions/v1beta1
 | |
| kind: DaemonSet
 | |
| metadata:
 | |
|   name: fluentd-gcp-v1.30
 | |
|   namespace: kube-system
 | |
|   labels:
 | |
|     k8s-app: fluentd-gcp
 | |
|     kubernetes.io/cluster-service: "true"
 | |
|     version: v1.30
 | |
| spec:
 | |
|   template:
 | |
|     metadata:
 | |
|       annotations:
 | |
|         scheduler.alpha.kubernetes.io/critical-pod: ''
 | |
|       labels:
 | |
|         k8s-app: fluentd-gcp
 | |
|         kubernetes.io/cluster-service: "true"
 | |
|         version: v1.30
 | |
|     spec:
 | |
|       containers:
 | |
|       - name: fluentd-gcp
 | |
|         image: gcr.io/google_containers/fluentd-gcp:1.30
 | |
|         # 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'
 | |
|           - '/run.sh $FLUENTD_ARGS 2>&1 >>/var/log/fluentd.log'
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: 200Mi
 | |
|           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
 | |
|         # 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:-600};
 | |
|               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 + $LIVENESS_THRESHOLD_SECONDS` ]; then exit 1; fi;
 | |
|       nodeSelector:
 | |
|         alpha.kubernetes.io/fluentd-ds-ready: "true"
 | |
|       terminationGracePeriodSeconds: 30
 | |
|       volumes:
 | |
|       - name: varlog
 | |
|         hostPath:
 | |
|           path: /var/log
 | |
|       - name: varlibdockercontainers
 | |
|         hostPath:
 | |
|           path: /var/lib/docker/containers
 | |
|       - name: libsystemddir
 | |
|         hostPath:
 | |
|           path: /usr/lib64
 |