0

我使用k8s的sidecar方式来收集日志。如果我使用emptydiry挂载,当pod移动到另一个节点时,未收集的日志会丢失吗?

apiVersion: v1
kind: Pod
metadata:
 name: counter
spec:
 containers:
   - name: count
     image: busybox
     ...    
     volumeMounts:
       - name: varlog
         mountPath: /var/log
   - name: count-agent
     image: k8s.gcr.io/fluentd-gcp:1.30
     ...
     volumeMounts:
       - name: varlog
         mountPath: /var/log
       - name: config-volume
         mountPath: /etc/fluentd-config
 volumes:
   - name: varlog
     emptyDir: {}
   - name: config-volume
     configMap:
       name: fluentd-config

4

1 回答 1

1

是的,您将丢失数据。emptyDir当一个 pod 被移除时被擦除(例如当它被驱逐到另一个节点时)。

您要保留的日志应打印到stdout; 然后由集群中的日志子系统收集和保存。

文档

当 Pod 分配给节点时,首先会创建一个emptyDir卷,并且只要该 Pod 在该节点上运行,它就存在。

于 2021-08-04T07:15:54.430 回答